@patternfly/react-core 5.1.1 → 5.2.0-prerelease.10

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 (820) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/components/package.json +1 -1
  3. package/deprecated/package.json +1 -1
  4. package/dist/dynamic/components/AboutModal/package.json +1 -1
  5. package/dist/dynamic/components/Accordion/package.json +1 -1
  6. package/dist/dynamic/components/ActionList/package.json +1 -1
  7. package/dist/dynamic/components/Alert/package.json +1 -1
  8. package/dist/dynamic/components/Avatar/package.json +1 -1
  9. package/dist/dynamic/components/BackToTop/package.json +1 -1
  10. package/dist/dynamic/components/Backdrop/package.json +1 -1
  11. package/dist/dynamic/components/BackgroundImage/package.json +1 -1
  12. package/dist/dynamic/components/Badge/package.json +1 -1
  13. package/dist/dynamic/components/Banner/package.json +1 -1
  14. package/dist/dynamic/components/Brand/package.json +1 -1
  15. package/dist/dynamic/components/Breadcrumb/package.json +1 -1
  16. package/dist/dynamic/components/Button/package.json +1 -1
  17. package/dist/dynamic/components/CalendarMonth/package.json +1 -1
  18. package/dist/dynamic/components/Card/package.json +1 -1
  19. package/dist/dynamic/components/Checkbox/package.json +1 -1
  20. package/dist/dynamic/components/Chip/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/DataList/package.json +1 -1
  24. package/dist/dynamic/components/DatePicker/package.json +1 -1
  25. package/dist/dynamic/components/DescriptionList/package.json +1 -1
  26. package/dist/dynamic/components/Divider/package.json +1 -1
  27. package/dist/dynamic/components/DragDrop/package.json +1 -1
  28. package/dist/dynamic/components/Drawer/package.json +1 -1
  29. package/dist/dynamic/components/Dropdown/package.json +1 -1
  30. package/dist/dynamic/components/DualListSelector/package.json +1 -1
  31. package/dist/dynamic/components/EmptyState/package.json +1 -1
  32. package/dist/dynamic/components/ExpandableSection/package.json +1 -1
  33. package/dist/dynamic/components/FileUpload/package.json +1 -1
  34. package/dist/dynamic/components/Form/package.json +1 -1
  35. package/dist/dynamic/components/FormSelect/package.json +1 -1
  36. package/dist/dynamic/components/HelperText/package.json +1 -1
  37. package/dist/dynamic/components/Hint/package.json +1 -1
  38. package/dist/dynamic/components/Icon/package.json +1 -1
  39. package/dist/dynamic/components/InputGroup/package.json +1 -1
  40. package/dist/dynamic/components/JumpLinks/package.json +1 -1
  41. package/dist/dynamic/components/Label/package.json +1 -1
  42. package/dist/dynamic/components/List/package.json +1 -1
  43. package/dist/dynamic/components/LoginPage/package.json +1 -1
  44. package/dist/dynamic/components/Masthead/package.json +1 -1
  45. package/dist/dynamic/components/Menu/package.json +1 -1
  46. package/dist/dynamic/components/MenuToggle/package.json +1 -1
  47. package/dist/dynamic/components/Modal/package.json +1 -1
  48. package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
  49. package/dist/dynamic/components/Nav/package.json +1 -1
  50. package/dist/dynamic/components/NotificationBadge/package.json +1 -1
  51. package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
  52. package/dist/dynamic/components/NumberInput/package.json +1 -1
  53. package/dist/dynamic/components/OverflowMenu/package.json +1 -1
  54. package/dist/dynamic/components/Page/package.json +1 -1
  55. package/dist/dynamic/components/Pagination/package.json +1 -1
  56. package/dist/dynamic/components/Panel/package.json +1 -1
  57. package/dist/dynamic/components/Popover/package.json +1 -1
  58. package/dist/dynamic/components/Progress/package.json +1 -1
  59. package/dist/dynamic/components/ProgressStepper/package.json +1 -1
  60. package/dist/dynamic/components/Radio/package.json +1 -1
  61. package/dist/dynamic/components/SearchInput/package.json +1 -1
  62. package/dist/dynamic/components/Select/package.json +1 -1
  63. package/dist/dynamic/components/Sidebar/package.json +1 -1
  64. package/dist/dynamic/components/SimpleList/package.json +1 -1
  65. package/dist/dynamic/components/Skeleton/package.json +1 -1
  66. package/dist/dynamic/components/SkipToContent/package.json +1 -1
  67. package/dist/dynamic/components/Slider/package.json +1 -1
  68. package/dist/dynamic/components/Spinner/package.json +1 -1
  69. package/dist/dynamic/components/Switch/package.json +1 -1
  70. package/dist/dynamic/components/Tabs/package.json +1 -1
  71. package/dist/dynamic/components/Text/package.json +1 -1
  72. package/dist/dynamic/components/TextArea/package.json +1 -1
  73. package/dist/dynamic/components/TextInput/package.json +1 -1
  74. package/dist/dynamic/components/TextInputGroup/package.json +1 -1
  75. package/dist/dynamic/components/Tile/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/ApplicationLauncher/package.json +1 -1
  87. package/dist/dynamic/deprecated/components/ContextSelector/package.json +1 -1
  88. package/dist/dynamic/deprecated/components/Dropdown/package.json +1 -1
  89. package/dist/dynamic/deprecated/components/OptionsMenu/package.json +1 -1
  90. package/dist/dynamic/deprecated/components/PageHeader/package.json +1 -1
  91. package/dist/dynamic/deprecated/components/Select/package.json +1 -1
  92. package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
  93. package/dist/dynamic/deprecated/components/package.json +1 -1
  94. package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
  95. package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
  96. package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
  97. package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
  98. package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
  99. package/dist/dynamic/helpers/constants/package.json +1 -1
  100. package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
  101. package/dist/dynamic/helpers/favorites/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/next/components/package.json +1 -1
  119. package/dist/esm/components/AboutModal/AboutModalBoxContent.js +1 -1
  120. package/dist/esm/components/AboutModal/AboutModalBoxContent.js.map +1 -1
  121. package/dist/esm/components/ActionList/ActionListItem.d.ts.map +1 -1
  122. package/dist/esm/components/ActionList/ActionListItem.js +2 -1
  123. package/dist/esm/components/ActionList/ActionListItem.js.map +1 -1
  124. package/dist/esm/components/Alert/AlertGroup.d.ts +1 -1
  125. package/dist/esm/components/Alert/AlertIcon.d.ts +1 -1
  126. package/dist/esm/components/Alert/AlertIcon.d.ts.map +1 -1
  127. package/dist/esm/components/BackToTop/BackToTop.d.ts +1 -1
  128. package/dist/esm/components/BackToTop/BackToTop.d.ts.map +1 -1
  129. package/dist/esm/components/BackToTop/BackToTop.js +9 -7
  130. package/dist/esm/components/BackToTop/BackToTop.js.map +1 -1
  131. package/dist/esm/components/BackgroundImage/BackgroundImage.d.ts.map +1 -1
  132. package/dist/esm/components/BackgroundImage/BackgroundImage.js +2 -1
  133. package/dist/esm/components/BackgroundImage/BackgroundImage.js.map +1 -1
  134. package/dist/esm/components/Brand/Brand.d.ts.map +1 -1
  135. package/dist/esm/components/Brand/Brand.js +4 -2
  136. package/dist/esm/components/Brand/Brand.js.map +1 -1
  137. package/dist/esm/components/CalendarMonth/CalendarMonth.d.ts +1 -1
  138. package/dist/esm/components/Checkbox/Checkbox.d.ts +1 -1
  139. package/dist/esm/components/Chip/Chip.d.ts +5 -5
  140. package/dist/esm/components/Chip/Chip.d.ts.map +1 -1
  141. package/dist/esm/components/Chip/Chip.js +2 -1
  142. package/dist/esm/components/Chip/Chip.js.map +1 -1
  143. package/dist/esm/components/Chip/ChipGroup.d.ts +2 -2
  144. package/dist/esm/components/ClipboardCopy/ClipboardCopy.d.ts +1 -1
  145. package/dist/esm/components/ClipboardCopy/ClipboardCopy.d.ts.map +1 -1
  146. package/dist/esm/components/ClipboardCopy/ClipboardCopyExpanded.d.ts +1 -1
  147. package/dist/esm/components/CodeBlock/CodeBlockAction.d.ts.map +1 -1
  148. package/dist/esm/components/CodeBlock/CodeBlockAction.js +2 -1
  149. package/dist/esm/components/CodeBlock/CodeBlockAction.js.map +1 -1
  150. package/dist/esm/components/DataList/DataList.d.ts +1 -1
  151. package/dist/esm/components/DataList/DataListItem.d.ts +1 -1
  152. package/dist/esm/components/DatePicker/DatePicker.d.ts.map +1 -1
  153. package/dist/esm/components/DatePicker/DatePicker.js +2 -1
  154. package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
  155. package/dist/esm/components/DescriptionList/DescriptionList.d.ts.map +1 -1
  156. package/dist/esm/components/DescriptionList/DescriptionList.js +6 -3
  157. package/dist/esm/components/DescriptionList/DescriptionList.js.map +1 -1
  158. package/dist/esm/components/DragDrop/Draggable.d.ts.map +1 -1
  159. package/dist/esm/components/DragDrop/Draggable.js +2 -1
  160. package/dist/esm/components/DragDrop/Draggable.js.map +1 -1
  161. package/dist/esm/components/Drawer/DrawerPanelContent.d.ts +1 -1
  162. package/dist/esm/components/Drawer/DrawerPanelContent.d.ts.map +1 -1
  163. package/dist/esm/components/Drawer/DrawerPanelContent.js +8 -5
  164. package/dist/esm/components/Drawer/DrawerPanelContent.js.map +1 -1
  165. package/dist/esm/components/DualListSelector/DualListSelector.d.ts +1 -1
  166. package/dist/esm/components/DualListSelector/DualListSelectorControl.d.ts +1 -1
  167. package/dist/esm/components/DualListSelector/DualListSelectorControl.d.ts.map +1 -1
  168. package/dist/esm/components/DualListSelector/DualListSelectorControl.js +2 -1
  169. package/dist/esm/components/DualListSelector/DualListSelectorControl.js.map +1 -1
  170. package/dist/esm/components/DualListSelector/DualListSelectorControlsWrapper.d.ts +1 -1
  171. package/dist/esm/components/DualListSelector/DualListSelectorControlsWrapper.d.ts.map +1 -1
  172. package/dist/esm/components/DualListSelector/DualListSelectorListItem.d.ts +1 -1
  173. package/dist/esm/components/DualListSelector/DualListSelectorListItem.d.ts.map +1 -1
  174. package/dist/esm/components/DualListSelector/DualListSelectorListWrapper.d.ts +1 -1
  175. package/dist/esm/components/DualListSelector/DualListSelectorListWrapper.d.ts.map +1 -1
  176. package/dist/esm/components/DualListSelector/DualListSelectorPane.d.ts.map +1 -1
  177. package/dist/esm/components/DualListSelector/DualListSelectorPane.js +4 -3
  178. package/dist/esm/components/DualListSelector/DualListSelectorPane.js.map +1 -1
  179. package/dist/esm/components/EmptyState/EmptyStateHeader.js +2 -2
  180. package/dist/esm/components/EmptyState/EmptyStateHeader.js.map +1 -1
  181. package/dist/esm/components/EmptyState/EmptyStateIcon.d.ts.map +1 -1
  182. package/dist/esm/components/EmptyState/EmptyStateIcon.js +2 -2
  183. package/dist/esm/components/EmptyState/EmptyStateIcon.js.map +1 -1
  184. package/dist/esm/components/ExpandableSection/ExpandableSection.d.ts +1 -1
  185. package/dist/esm/components/Form/Form.d.ts.map +1 -1
  186. package/dist/esm/components/Form/Form.js +2 -1
  187. package/dist/esm/components/Form/Form.js.map +1 -1
  188. package/dist/esm/components/Form/FormAlert.d.ts.map +1 -1
  189. package/dist/esm/components/Form/FormAlert.js +2 -1
  190. package/dist/esm/components/Form/FormAlert.js.map +1 -1
  191. package/dist/esm/components/FormControl/FormControlIcon.d.ts +1 -1
  192. package/dist/esm/components/FormControl/FormControlIcon.d.ts.map +1 -1
  193. package/dist/esm/components/FormSelect/FormSelect.d.ts +1 -1
  194. package/dist/esm/components/InputGroup/InputGroup.d.ts +1 -1
  195. package/dist/esm/components/InputGroup/InputGroup.d.ts.map +1 -1
  196. package/dist/esm/components/JumpLinks/JumpLinks.js +1 -1
  197. package/dist/esm/components/JumpLinks/JumpLinks.js.map +1 -1
  198. package/dist/esm/components/Label/Label.d.ts.map +1 -1
  199. package/dist/esm/components/Label/Label.js +2 -1
  200. package/dist/esm/components/Label/Label.js.map +1 -1
  201. package/dist/esm/components/Label/LabelGroup.d.ts +2 -2
  202. package/dist/esm/components/Menu/Menu.d.ts.map +1 -1
  203. package/dist/esm/components/Menu/Menu.js +7 -5
  204. package/dist/esm/components/Menu/Menu.js.map +1 -1
  205. package/dist/esm/components/Menu/MenuContent.d.ts +1 -1
  206. package/dist/esm/components/Menu/MenuContent.d.ts.map +1 -1
  207. package/dist/esm/components/Menu/MenuContent.js +3 -1
  208. package/dist/esm/components/Menu/MenuContent.js.map +1 -1
  209. package/dist/esm/components/Menu/MenuGroup.d.ts +1 -1
  210. package/dist/esm/components/Menu/MenuGroup.d.ts.map +1 -1
  211. package/dist/esm/components/Menu/MenuItem.d.ts +1 -1
  212. package/dist/esm/components/Menu/MenuItem.d.ts.map +1 -1
  213. package/dist/esm/components/Menu/MenuSearch.d.ts +1 -1
  214. package/dist/esm/components/Menu/MenuSearch.d.ts.map +1 -1
  215. package/dist/esm/components/Menu/MenuSearchInput.d.ts +1 -1
  216. package/dist/esm/components/Menu/MenuSearchInput.d.ts.map +1 -1
  217. package/dist/esm/components/Menu/MenuSearchInput.js +2 -1
  218. package/dist/esm/components/Menu/MenuSearchInput.js.map +1 -1
  219. package/dist/esm/components/MenuToggle/MenuToggleAction.d.ts +1 -1
  220. package/dist/esm/components/MenuToggle/MenuToggleCheckbox.d.ts +1 -1
  221. package/dist/esm/components/Modal/ModalBoxHeader.js +1 -1
  222. package/dist/esm/components/Modal/ModalBoxHeader.js.map +1 -1
  223. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatus.js +1 -1
  224. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatus.js.map +1 -1
  225. package/dist/esm/components/Nav/Nav.d.ts +1 -1
  226. package/dist/esm/components/Nav/NavExpandable.d.ts +1 -1
  227. package/dist/esm/components/Nav/NavList.d.ts +1 -1
  228. package/dist/esm/components/NotificationDrawer/NotificationDrawer.d.ts +1 -1
  229. package/dist/esm/components/NotificationDrawer/NotificationDrawer.d.ts.map +1 -1
  230. package/dist/esm/components/NotificationDrawer/NotificationDrawerGroup.js +1 -1
  231. package/dist/esm/components/NotificationDrawer/NotificationDrawerGroup.js.map +1 -1
  232. package/dist/esm/components/NotificationDrawer/NotificationDrawerList.d.ts.map +1 -1
  233. package/dist/esm/components/NotificationDrawer/NotificationDrawerList.js +2 -1
  234. package/dist/esm/components/NotificationDrawer/NotificationDrawerList.js.map +1 -1
  235. package/dist/esm/components/NotificationDrawer/NotificationDrawerListItem.d.ts.map +1 -1
  236. package/dist/esm/components/NotificationDrawer/NotificationDrawerListItem.js +1 -1
  237. package/dist/esm/components/NotificationDrawer/NotificationDrawerListItem.js.map +1 -1
  238. package/dist/esm/components/NumberInput/NumberInput.d.ts.map +1 -1
  239. package/dist/esm/components/NumberInput/NumberInput.js +2 -1
  240. package/dist/esm/components/NumberInput/NumberInput.js.map +1 -1
  241. package/dist/esm/components/OverflowMenu/OverflowMenu.d.ts +1 -1
  242. package/dist/esm/components/Page/Page.d.ts +1 -1
  243. package/dist/esm/components/Page/PageBreadcrumb.d.ts +1 -1
  244. package/dist/esm/components/Page/PageGroup.d.ts +1 -1
  245. package/dist/esm/components/Page/PageNavigation.d.ts +1 -1
  246. package/dist/esm/components/Pagination/Navigation.d.ts +1 -1
  247. package/dist/esm/components/Panel/Panel.d.ts +1 -1
  248. package/dist/esm/components/Panel/Panel.d.ts.map +1 -1
  249. package/dist/esm/components/Panel/PanelMain.d.ts.map +1 -1
  250. package/dist/esm/components/Panel/PanelMain.js +2 -1
  251. package/dist/esm/components/Panel/PanelMain.js.map +1 -1
  252. package/dist/esm/components/Progress/Progress.d.ts +1 -1
  253. package/dist/esm/components/Radio/Radio.d.ts +1 -1
  254. package/dist/esm/components/SearchInput/SearchInput.d.ts.map +1 -1
  255. package/dist/esm/components/SearchInput/SearchInput.js +2 -1
  256. package/dist/esm/components/SearchInput/SearchInput.js.map +1 -1
  257. package/dist/esm/components/SimpleList/SimpleList.d.ts +1 -1
  258. package/dist/esm/components/SimpleList/SimpleListItem.d.ts +1 -1
  259. package/dist/esm/components/Skeleton/Skeleton.d.ts.map +1 -1
  260. package/dist/esm/components/Skeleton/Skeleton.js +3 -1
  261. package/dist/esm/components/Skeleton/Skeleton.js.map +1 -1
  262. package/dist/esm/components/Slider/Slider.d.ts.map +1 -1
  263. package/dist/esm/components/Slider/Slider.js +8 -6
  264. package/dist/esm/components/Slider/Slider.js.map +1 -1
  265. package/dist/esm/components/Spinner/Spinner.d.ts.map +1 -1
  266. package/dist/esm/components/Spinner/Spinner.js +2 -1
  267. package/dist/esm/components/Spinner/Spinner.js.map +1 -1
  268. package/dist/esm/components/Switch/Switch.d.ts +1 -1
  269. package/dist/esm/components/Tabs/OverflowTab.js +1 -1
  270. package/dist/esm/components/Tabs/OverflowTab.js.map +1 -1
  271. package/dist/esm/components/Tabs/Tab.d.ts +1 -1
  272. package/dist/esm/components/Tabs/Tab.d.ts.map +1 -1
  273. package/dist/esm/components/Tabs/Tabs.d.ts +1 -1
  274. package/dist/esm/components/TextInput/TextInput.d.ts +1 -1
  275. package/dist/esm/components/TextInputGroup/TextInputGroupMain.d.ts +1 -1
  276. package/dist/esm/components/TextInputGroup/TextInputGroupMain.d.ts.map +1 -1
  277. package/dist/esm/components/TimePicker/TimePicker.d.ts +1 -1
  278. package/dist/esm/components/TimePicker/TimePicker.d.ts.map +1 -1
  279. package/dist/esm/components/TimePicker/TimePicker.js +2 -1
  280. package/dist/esm/components/TimePicker/TimePicker.js.map +1 -1
  281. package/dist/esm/components/Timestamp/Timestamp.js +1 -1
  282. package/dist/esm/components/Timestamp/Timestamp.js.map +1 -1
  283. package/dist/esm/components/Toolbar/Toolbar.d.ts +2 -2
  284. package/dist/esm/components/Toolbar/Toolbar.d.ts.map +1 -1
  285. package/dist/esm/components/Toolbar/ToolbarChipGroupContent.d.ts +1 -1
  286. package/dist/esm/components/Toolbar/ToolbarContent.d.ts +1 -1
  287. package/dist/esm/components/Toolbar/ToolbarExpandableContent.d.ts +1 -1
  288. package/dist/esm/components/Toolbar/ToolbarFilter.d.ts +1 -1
  289. package/dist/esm/components/Toolbar/ToolbarItem.d.ts.map +1 -1
  290. package/dist/esm/components/Toolbar/ToolbarItem.js +2 -1
  291. package/dist/esm/components/Toolbar/ToolbarItem.js.map +1 -1
  292. package/dist/esm/components/Toolbar/ToolbarToggleGroup.d.ts +1 -1
  293. package/dist/esm/components/TreeView/TreeViewList.d.ts.map +1 -1
  294. package/dist/esm/components/TreeView/TreeViewList.js +2 -1
  295. package/dist/esm/components/TreeView/TreeViewList.js.map +1 -1
  296. package/dist/esm/components/TreeView/TreeViewRoot.d.ts +1 -1
  297. package/dist/esm/components/TreeView/TreeViewRoot.d.ts.map +1 -1
  298. package/dist/esm/components/TreeView/TreeViewRoot.js +7 -7
  299. package/dist/esm/components/TreeView/TreeViewRoot.js.map +1 -1
  300. package/dist/esm/components/Wizard/Wizard.d.ts +3 -1
  301. package/dist/esm/components/Wizard/Wizard.d.ts.map +1 -1
  302. package/dist/esm/components/Wizard/Wizard.js +5 -5
  303. package/dist/esm/components/Wizard/Wizard.js.map +1 -1
  304. package/dist/esm/components/Wizard/WizardBody.d.ts +1 -1
  305. package/dist/esm/components/Wizard/WizardFooter.d.ts +2 -2
  306. package/dist/esm/components/Wizard/WizardNavInternal.d.ts +4 -3
  307. package/dist/esm/components/Wizard/WizardNavInternal.d.ts.map +1 -1
  308. package/dist/esm/components/Wizard/WizardNavInternal.js +2 -2
  309. package/dist/esm/components/Wizard/WizardNavInternal.js.map +1 -1
  310. package/dist/esm/components/Wizard/WizardNavItem.d.ts +1 -1
  311. package/dist/esm/components/Wizard/WizardNavItem.d.ts.map +1 -1
  312. package/dist/esm/components/Wizard/WizardNavItem.js +4 -2
  313. package/dist/esm/components/Wizard/WizardNavItem.js.map +1 -1
  314. package/dist/esm/components/Wizard/WizardStep.d.ts +1 -1
  315. package/dist/esm/components/Wizard/WizardToggle.d.ts +1 -1
  316. package/dist/esm/demos/DashboardHeader.d.ts +8 -0
  317. package/dist/esm/demos/DashboardHeader.d.ts.map +1 -0
  318. package/dist/esm/demos/DashboardHeader.js +77 -0
  319. package/dist/esm/demos/DashboardHeader.js.map +1 -0
  320. package/dist/esm/demos/DashboardWrapper.d.ts +14 -0
  321. package/dist/esm/demos/DashboardWrapper.d.ts.map +1 -0
  322. package/dist/esm/demos/DashboardWrapper.js +41 -0
  323. package/dist/esm/demos/DashboardWrapper.js.map +1 -0
  324. package/dist/esm/demos/index.d.ts +3 -0
  325. package/dist/esm/demos/index.d.ts.map +1 -0
  326. package/dist/esm/demos/index.js +3 -0
  327. package/dist/esm/demos/index.js.map +1 -0
  328. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncher.d.ts +2 -2
  329. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncher.d.ts.map +1 -1
  330. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherText.d.ts.map +1 -1
  331. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherText.js +2 -1
  332. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherText.js.map +1 -1
  333. package/dist/esm/deprecated/components/ContextSelector/ContextSelector.d.ts +1 -1
  334. package/dist/esm/deprecated/components/ContextSelector/ContextSelectorItem.d.ts +1 -1
  335. package/dist/esm/deprecated/components/ContextSelector/ContextSelectorMenuList.d.ts +1 -1
  336. package/dist/esm/deprecated/components/ContextSelector/ContextSelectorMenuList.d.ts.map +1 -1
  337. package/dist/esm/deprecated/components/ContextSelector/ContextSelectorToggle.d.ts +1 -1
  338. package/dist/esm/deprecated/components/Dropdown/DropdownMenu.d.ts +1 -1
  339. package/dist/esm/deprecated/components/Dropdown/DropdownToggleAction.d.ts +1 -1
  340. package/dist/esm/deprecated/components/Dropdown/DropdownToggleCheckbox.d.ts +1 -1
  341. package/dist/esm/deprecated/components/Dropdown/DropdownWithContext.d.ts +1 -1
  342. package/dist/esm/deprecated/components/Dropdown/InternalDropdownItem.d.ts +1 -1
  343. package/dist/esm/deprecated/components/Dropdown/Toggle.d.ts +1 -1
  344. package/dist/esm/deprecated/components/Select/Select.d.ts +1 -1
  345. package/dist/esm/deprecated/components/Select/SelectMenu.js +1 -1
  346. package/dist/esm/deprecated/components/Select/SelectMenu.js.map +1 -1
  347. package/dist/esm/deprecated/components/Select/SelectOption.d.ts +1 -1
  348. package/dist/esm/deprecated/components/Wizard/Wizard.d.ts +1 -1
  349. package/dist/esm/helpers/FocusTrap/FocusTrap.d.ts +1 -1
  350. package/dist/esm/helpers/FocusTrap/FocusTrap.d.ts.map +1 -1
  351. package/dist/esm/helpers/Popper/Popper.js +1 -1
  352. package/dist/esm/helpers/Popper/Popper.js.map +1 -1
  353. package/dist/esm/index.d.ts +1 -0
  354. package/dist/esm/index.d.ts.map +1 -1
  355. package/dist/esm/index.js +1 -0
  356. package/dist/esm/index.js.map +1 -1
  357. package/dist/esm/layouts/Gallery/Gallery.d.ts.map +1 -1
  358. package/dist/esm/layouts/Gallery/Gallery.js +6 -2
  359. package/dist/esm/layouts/Gallery/Gallery.js.map +1 -1
  360. package/dist/js/components/AboutModal/AboutModalBoxContent.js +1 -1
  361. package/dist/js/components/AboutModal/AboutModalBoxContent.js.map +1 -1
  362. package/dist/js/components/ActionList/ActionListItem.d.ts.map +1 -1
  363. package/dist/js/components/ActionList/ActionListItem.js +2 -1
  364. package/dist/js/components/ActionList/ActionListItem.js.map +1 -1
  365. package/dist/js/components/Alert/AlertGroup.d.ts +1 -1
  366. package/dist/js/components/Alert/AlertIcon.d.ts +1 -1
  367. package/dist/js/components/Alert/AlertIcon.d.ts.map +1 -1
  368. package/dist/js/components/BackToTop/BackToTop.d.ts +1 -1
  369. package/dist/js/components/BackToTop/BackToTop.d.ts.map +1 -1
  370. package/dist/js/components/BackToTop/BackToTop.js +9 -7
  371. package/dist/js/components/BackToTop/BackToTop.js.map +1 -1
  372. package/dist/js/components/BackgroundImage/BackgroundImage.d.ts.map +1 -1
  373. package/dist/js/components/BackgroundImage/BackgroundImage.js +2 -1
  374. package/dist/js/components/BackgroundImage/BackgroundImage.js.map +1 -1
  375. package/dist/js/components/Brand/Brand.d.ts.map +1 -1
  376. package/dist/js/components/Brand/Brand.js +4 -2
  377. package/dist/js/components/Brand/Brand.js.map +1 -1
  378. package/dist/js/components/CalendarMonth/CalendarMonth.d.ts +1 -1
  379. package/dist/js/components/Checkbox/Checkbox.d.ts +1 -1
  380. package/dist/js/components/Chip/Chip.d.ts +5 -5
  381. package/dist/js/components/Chip/Chip.d.ts.map +1 -1
  382. package/dist/js/components/Chip/Chip.js +2 -1
  383. package/dist/js/components/Chip/Chip.js.map +1 -1
  384. package/dist/js/components/Chip/ChipGroup.d.ts +2 -2
  385. package/dist/js/components/ClipboardCopy/ClipboardCopy.d.ts +1 -1
  386. package/dist/js/components/ClipboardCopy/ClipboardCopy.d.ts.map +1 -1
  387. package/dist/js/components/ClipboardCopy/ClipboardCopyExpanded.d.ts +1 -1
  388. package/dist/js/components/CodeBlock/CodeBlockAction.d.ts.map +1 -1
  389. package/dist/js/components/CodeBlock/CodeBlockAction.js +2 -1
  390. package/dist/js/components/CodeBlock/CodeBlockAction.js.map +1 -1
  391. package/dist/js/components/DataList/DataList.d.ts +1 -1
  392. package/dist/js/components/DataList/DataListItem.d.ts +1 -1
  393. package/dist/js/components/DatePicker/DatePicker.d.ts.map +1 -1
  394. package/dist/js/components/DatePicker/DatePicker.js +2 -1
  395. package/dist/js/components/DatePicker/DatePicker.js.map +1 -1
  396. package/dist/js/components/DescriptionList/DescriptionList.d.ts.map +1 -1
  397. package/dist/js/components/DescriptionList/DescriptionList.js +6 -3
  398. package/dist/js/components/DescriptionList/DescriptionList.js.map +1 -1
  399. package/dist/js/components/DragDrop/Draggable.d.ts.map +1 -1
  400. package/dist/js/components/DragDrop/Draggable.js +2 -1
  401. package/dist/js/components/DragDrop/Draggable.js.map +1 -1
  402. package/dist/js/components/Drawer/DrawerPanelContent.d.ts +1 -1
  403. package/dist/js/components/Drawer/DrawerPanelContent.d.ts.map +1 -1
  404. package/dist/js/components/Drawer/DrawerPanelContent.js +8 -5
  405. package/dist/js/components/Drawer/DrawerPanelContent.js.map +1 -1
  406. package/dist/js/components/DualListSelector/DualListSelector.d.ts +1 -1
  407. package/dist/js/components/DualListSelector/DualListSelectorControl.d.ts +1 -1
  408. package/dist/js/components/DualListSelector/DualListSelectorControl.d.ts.map +1 -1
  409. package/dist/js/components/DualListSelector/DualListSelectorControl.js +2 -1
  410. package/dist/js/components/DualListSelector/DualListSelectorControl.js.map +1 -1
  411. package/dist/js/components/DualListSelector/DualListSelectorControlsWrapper.d.ts +1 -1
  412. package/dist/js/components/DualListSelector/DualListSelectorControlsWrapper.d.ts.map +1 -1
  413. package/dist/js/components/DualListSelector/DualListSelectorListItem.d.ts +1 -1
  414. package/dist/js/components/DualListSelector/DualListSelectorListItem.d.ts.map +1 -1
  415. package/dist/js/components/DualListSelector/DualListSelectorListWrapper.d.ts +1 -1
  416. package/dist/js/components/DualListSelector/DualListSelectorListWrapper.d.ts.map +1 -1
  417. package/dist/js/components/DualListSelector/DualListSelectorPane.d.ts.map +1 -1
  418. package/dist/js/components/DualListSelector/DualListSelectorPane.js +4 -3
  419. package/dist/js/components/DualListSelector/DualListSelectorPane.js.map +1 -1
  420. package/dist/js/components/EmptyState/EmptyStateHeader.js +2 -2
  421. package/dist/js/components/EmptyState/EmptyStateHeader.js.map +1 -1
  422. package/dist/js/components/EmptyState/EmptyStateIcon.d.ts.map +1 -1
  423. package/dist/js/components/EmptyState/EmptyStateIcon.js +2 -2
  424. package/dist/js/components/EmptyState/EmptyStateIcon.js.map +1 -1
  425. package/dist/js/components/ExpandableSection/ExpandableSection.d.ts +1 -1
  426. package/dist/js/components/Form/Form.d.ts.map +1 -1
  427. package/dist/js/components/Form/Form.js +2 -1
  428. package/dist/js/components/Form/Form.js.map +1 -1
  429. package/dist/js/components/Form/FormAlert.d.ts.map +1 -1
  430. package/dist/js/components/Form/FormAlert.js +2 -1
  431. package/dist/js/components/Form/FormAlert.js.map +1 -1
  432. package/dist/js/components/FormControl/FormControlIcon.d.ts +1 -1
  433. package/dist/js/components/FormControl/FormControlIcon.d.ts.map +1 -1
  434. package/dist/js/components/FormSelect/FormSelect.d.ts +1 -1
  435. package/dist/js/components/InputGroup/InputGroup.d.ts +1 -1
  436. package/dist/js/components/InputGroup/InputGroup.d.ts.map +1 -1
  437. package/dist/js/components/JumpLinks/JumpLinks.js +1 -1
  438. package/dist/js/components/JumpLinks/JumpLinks.js.map +1 -1
  439. package/dist/js/components/Label/Label.d.ts.map +1 -1
  440. package/dist/js/components/Label/Label.js +2 -1
  441. package/dist/js/components/Label/Label.js.map +1 -1
  442. package/dist/js/components/Label/LabelGroup.d.ts +2 -2
  443. package/dist/js/components/Menu/Menu.d.ts.map +1 -1
  444. package/dist/js/components/Menu/Menu.js +7 -5
  445. package/dist/js/components/Menu/Menu.js.map +1 -1
  446. package/dist/js/components/Menu/MenuContent.d.ts +1 -1
  447. package/dist/js/components/Menu/MenuContent.d.ts.map +1 -1
  448. package/dist/js/components/Menu/MenuContent.js +3 -1
  449. package/dist/js/components/Menu/MenuContent.js.map +1 -1
  450. package/dist/js/components/Menu/MenuGroup.d.ts +1 -1
  451. package/dist/js/components/Menu/MenuGroup.d.ts.map +1 -1
  452. package/dist/js/components/Menu/MenuItem.d.ts +1 -1
  453. package/dist/js/components/Menu/MenuItem.d.ts.map +1 -1
  454. package/dist/js/components/Menu/MenuSearch.d.ts +1 -1
  455. package/dist/js/components/Menu/MenuSearch.d.ts.map +1 -1
  456. package/dist/js/components/Menu/MenuSearchInput.d.ts +1 -1
  457. package/dist/js/components/Menu/MenuSearchInput.d.ts.map +1 -1
  458. package/dist/js/components/Menu/MenuSearchInput.js +2 -1
  459. package/dist/js/components/Menu/MenuSearchInput.js.map +1 -1
  460. package/dist/js/components/MenuToggle/MenuToggleAction.d.ts +1 -1
  461. package/dist/js/components/MenuToggle/MenuToggleCheckbox.d.ts +1 -1
  462. package/dist/js/components/Modal/ModalBoxHeader.js +1 -1
  463. package/dist/js/components/Modal/ModalBoxHeader.js.map +1 -1
  464. package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatus.js +1 -1
  465. package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatus.js.map +1 -1
  466. package/dist/js/components/Nav/Nav.d.ts +1 -1
  467. package/dist/js/components/Nav/NavExpandable.d.ts +1 -1
  468. package/dist/js/components/Nav/NavList.d.ts +1 -1
  469. package/dist/js/components/NotificationDrawer/NotificationDrawer.d.ts +1 -1
  470. package/dist/js/components/NotificationDrawer/NotificationDrawer.d.ts.map +1 -1
  471. package/dist/js/components/NotificationDrawer/NotificationDrawerGroup.js +1 -1
  472. package/dist/js/components/NotificationDrawer/NotificationDrawerGroup.js.map +1 -1
  473. package/dist/js/components/NotificationDrawer/NotificationDrawerList.d.ts.map +1 -1
  474. package/dist/js/components/NotificationDrawer/NotificationDrawerList.js +2 -1
  475. package/dist/js/components/NotificationDrawer/NotificationDrawerList.js.map +1 -1
  476. package/dist/js/components/NotificationDrawer/NotificationDrawerListItem.d.ts.map +1 -1
  477. package/dist/js/components/NotificationDrawer/NotificationDrawerListItem.js +1 -1
  478. package/dist/js/components/NotificationDrawer/NotificationDrawerListItem.js.map +1 -1
  479. package/dist/js/components/NumberInput/NumberInput.d.ts.map +1 -1
  480. package/dist/js/components/NumberInput/NumberInput.js +2 -1
  481. package/dist/js/components/NumberInput/NumberInput.js.map +1 -1
  482. package/dist/js/components/OverflowMenu/OverflowMenu.d.ts +1 -1
  483. package/dist/js/components/Page/Page.d.ts +1 -1
  484. package/dist/js/components/Page/PageBreadcrumb.d.ts +1 -1
  485. package/dist/js/components/Page/PageGroup.d.ts +1 -1
  486. package/dist/js/components/Page/PageNavigation.d.ts +1 -1
  487. package/dist/js/components/Pagination/Navigation.d.ts +1 -1
  488. package/dist/js/components/Panel/Panel.d.ts +1 -1
  489. package/dist/js/components/Panel/Panel.d.ts.map +1 -1
  490. package/dist/js/components/Panel/PanelMain.d.ts.map +1 -1
  491. package/dist/js/components/Panel/PanelMain.js +2 -1
  492. package/dist/js/components/Panel/PanelMain.js.map +1 -1
  493. package/dist/js/components/Progress/Progress.d.ts +1 -1
  494. package/dist/js/components/Radio/Radio.d.ts +1 -1
  495. package/dist/js/components/SearchInput/SearchInput.d.ts.map +1 -1
  496. package/dist/js/components/SearchInput/SearchInput.js +2 -1
  497. package/dist/js/components/SearchInput/SearchInput.js.map +1 -1
  498. package/dist/js/components/SimpleList/SimpleList.d.ts +1 -1
  499. package/dist/js/components/SimpleList/SimpleListItem.d.ts +1 -1
  500. package/dist/js/components/Skeleton/Skeleton.d.ts.map +1 -1
  501. package/dist/js/components/Skeleton/Skeleton.js +3 -1
  502. package/dist/js/components/Skeleton/Skeleton.js.map +1 -1
  503. package/dist/js/components/Slider/Slider.d.ts.map +1 -1
  504. package/dist/js/components/Slider/Slider.js +8 -6
  505. package/dist/js/components/Slider/Slider.js.map +1 -1
  506. package/dist/js/components/Spinner/Spinner.d.ts.map +1 -1
  507. package/dist/js/components/Spinner/Spinner.js +2 -1
  508. package/dist/js/components/Spinner/Spinner.js.map +1 -1
  509. package/dist/js/components/Switch/Switch.d.ts +1 -1
  510. package/dist/js/components/Tabs/OverflowTab.js +1 -1
  511. package/dist/js/components/Tabs/OverflowTab.js.map +1 -1
  512. package/dist/js/components/Tabs/Tab.d.ts +1 -1
  513. package/dist/js/components/Tabs/Tab.d.ts.map +1 -1
  514. package/dist/js/components/Tabs/Tabs.d.ts +1 -1
  515. package/dist/js/components/TextInput/TextInput.d.ts +1 -1
  516. package/dist/js/components/TextInputGroup/TextInputGroupMain.d.ts +1 -1
  517. package/dist/js/components/TextInputGroup/TextInputGroupMain.d.ts.map +1 -1
  518. package/dist/js/components/TimePicker/TimePicker.d.ts +1 -1
  519. package/dist/js/components/TimePicker/TimePicker.d.ts.map +1 -1
  520. package/dist/js/components/TimePicker/TimePicker.js +2 -1
  521. package/dist/js/components/TimePicker/TimePicker.js.map +1 -1
  522. package/dist/js/components/Timestamp/Timestamp.js +1 -1
  523. package/dist/js/components/Timestamp/Timestamp.js.map +1 -1
  524. package/dist/js/components/Toolbar/Toolbar.d.ts +2 -2
  525. package/dist/js/components/Toolbar/Toolbar.d.ts.map +1 -1
  526. package/dist/js/components/Toolbar/ToolbarChipGroupContent.d.ts +1 -1
  527. package/dist/js/components/Toolbar/ToolbarContent.d.ts +1 -1
  528. package/dist/js/components/Toolbar/ToolbarExpandableContent.d.ts +1 -1
  529. package/dist/js/components/Toolbar/ToolbarFilter.d.ts +1 -1
  530. package/dist/js/components/Toolbar/ToolbarItem.d.ts.map +1 -1
  531. package/dist/js/components/Toolbar/ToolbarItem.js +2 -1
  532. package/dist/js/components/Toolbar/ToolbarItem.js.map +1 -1
  533. package/dist/js/components/Toolbar/ToolbarToggleGroup.d.ts +1 -1
  534. package/dist/js/components/TreeView/TreeViewList.d.ts.map +1 -1
  535. package/dist/js/components/TreeView/TreeViewList.js +2 -1
  536. package/dist/js/components/TreeView/TreeViewList.js.map +1 -1
  537. package/dist/js/components/TreeView/TreeViewRoot.d.ts +1 -1
  538. package/dist/js/components/TreeView/TreeViewRoot.d.ts.map +1 -1
  539. package/dist/js/components/TreeView/TreeViewRoot.js +7 -7
  540. package/dist/js/components/TreeView/TreeViewRoot.js.map +1 -1
  541. package/dist/js/components/Wizard/Wizard.d.ts +3 -1
  542. package/dist/js/components/Wizard/Wizard.d.ts.map +1 -1
  543. package/dist/js/components/Wizard/Wizard.js +5 -5
  544. package/dist/js/components/Wizard/Wizard.js.map +1 -1
  545. package/dist/js/components/Wizard/WizardBody.d.ts +1 -1
  546. package/dist/js/components/Wizard/WizardFooter.d.ts +2 -2
  547. package/dist/js/components/Wizard/WizardNavInternal.d.ts +4 -3
  548. package/dist/js/components/Wizard/WizardNavInternal.d.ts.map +1 -1
  549. package/dist/js/components/Wizard/WizardNavInternal.js +2 -2
  550. package/dist/js/components/Wizard/WizardNavInternal.js.map +1 -1
  551. package/dist/js/components/Wizard/WizardNavItem.d.ts +1 -1
  552. package/dist/js/components/Wizard/WizardNavItem.d.ts.map +1 -1
  553. package/dist/js/components/Wizard/WizardNavItem.js +4 -2
  554. package/dist/js/components/Wizard/WizardNavItem.js.map +1 -1
  555. package/dist/js/components/Wizard/WizardStep.d.ts +1 -1
  556. package/dist/js/components/Wizard/WizardToggle.d.ts +1 -1
  557. package/dist/js/demos/DashboardHeader.d.ts +8 -0
  558. package/dist/js/demos/DashboardHeader.d.ts.map +1 -0
  559. package/dist/js/demos/DashboardHeader.js +82 -0
  560. package/dist/js/demos/DashboardHeader.js.map +1 -0
  561. package/dist/js/demos/DashboardWrapper.d.ts +14 -0
  562. package/dist/js/demos/DashboardWrapper.d.ts.map +1 -0
  563. package/dist/js/demos/DashboardWrapper.js +45 -0
  564. package/dist/js/demos/DashboardWrapper.js.map +1 -0
  565. package/dist/js/demos/index.d.ts +3 -0
  566. package/dist/js/demos/index.d.ts.map +1 -0
  567. package/dist/js/demos/index.js +6 -0
  568. package/dist/js/demos/index.js.map +1 -0
  569. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncher.d.ts +2 -2
  570. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncher.d.ts.map +1 -1
  571. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherText.d.ts.map +1 -1
  572. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherText.js +2 -1
  573. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherText.js.map +1 -1
  574. package/dist/js/deprecated/components/ContextSelector/ContextSelector.d.ts +1 -1
  575. package/dist/js/deprecated/components/ContextSelector/ContextSelectorItem.d.ts +1 -1
  576. package/dist/js/deprecated/components/ContextSelector/ContextSelectorMenuList.d.ts +1 -1
  577. package/dist/js/deprecated/components/ContextSelector/ContextSelectorMenuList.d.ts.map +1 -1
  578. package/dist/js/deprecated/components/ContextSelector/ContextSelectorToggle.d.ts +1 -1
  579. package/dist/js/deprecated/components/Dropdown/DropdownMenu.d.ts +1 -1
  580. package/dist/js/deprecated/components/Dropdown/DropdownToggleAction.d.ts +1 -1
  581. package/dist/js/deprecated/components/Dropdown/DropdownToggleCheckbox.d.ts +1 -1
  582. package/dist/js/deprecated/components/Dropdown/DropdownWithContext.d.ts +1 -1
  583. package/dist/js/deprecated/components/Dropdown/InternalDropdownItem.d.ts +1 -1
  584. package/dist/js/deprecated/components/Dropdown/Toggle.d.ts +1 -1
  585. package/dist/js/deprecated/components/Select/Select.d.ts +1 -1
  586. package/dist/js/deprecated/components/Select/SelectMenu.js +1 -1
  587. package/dist/js/deprecated/components/Select/SelectMenu.js.map +1 -1
  588. package/dist/js/deprecated/components/Select/SelectOption.d.ts +1 -1
  589. package/dist/js/deprecated/components/Wizard/Wizard.d.ts +1 -1
  590. package/dist/js/helpers/FocusTrap/FocusTrap.d.ts +1 -1
  591. package/dist/js/helpers/FocusTrap/FocusTrap.d.ts.map +1 -1
  592. package/dist/js/helpers/Popper/Popper.js +1 -1
  593. package/dist/js/helpers/Popper/Popper.js.map +1 -1
  594. package/dist/js/index.d.ts +1 -0
  595. package/dist/js/index.d.ts.map +1 -1
  596. package/dist/js/index.js +1 -0
  597. package/dist/js/index.js.map +1 -1
  598. package/dist/js/layouts/Gallery/Gallery.d.ts.map +1 -1
  599. package/dist/js/layouts/Gallery/Gallery.js +6 -2
  600. package/dist/js/layouts/Gallery/Gallery.js.map +1 -1
  601. package/dist/styles/assets/images/logo__pf--reverse-on-md.svg +1 -1
  602. package/dist/styles/assets/images/pf-c-brand__logo-on-lg-white.svg +32 -0
  603. package/dist/styles/assets/images/pf-c-brand__logo-on-md-white.svg +42 -0
  604. package/dist/styles/assets/images/pf-c-brand__logo-on-sm-white.svg +17 -0
  605. package/dist/styles/assets/images/pf-c-brand__logo-on-sm.svg +1 -1
  606. package/dist/styles/assets/images/pf-c-brand__logo-on-xl-white.svg +39 -0
  607. package/dist/styles/assets/images/pf_logo_white.hbs +35 -0
  608. package/dist/styles/assets/images/pf_logo_white.svg +38 -0
  609. package/dist/umd/react-core.min.js +3 -3
  610. package/helpers/package.json +1 -1
  611. package/layouts/package.json +1 -1
  612. package/next/package.json +1 -1
  613. package/package.json +7 -6
  614. package/src/components/AboutModal/AboutModalBoxContent.tsx +1 -1
  615. package/src/components/AboutModal/examples/AboutModal.md +1 -0
  616. package/src/components/AboutModal/examples/AboutModalComplexUserPositionedContent.tsx +3 -2
  617. package/src/components/Accordion/__tests__/Accordion.test.tsx +3 -2
  618. package/src/components/Accordion/__tests__/AccordionContent.test.tsx +3 -2
  619. package/src/components/Accordion/__tests__/AccordionExpandedContentBody.test.tsx +3 -2
  620. package/src/components/Accordion/__tests__/AccordionToggle.test.tsx +7 -6
  621. package/src/components/ActionList/ActionListItem.tsx +2 -1
  622. package/src/components/ActionList/__tests__/ActionList.test.tsx +7 -6
  623. package/src/components/ActionList/__tests__/ActionListGroup.test.tsx +3 -2
  624. package/src/components/ActionList/__tests__/ActionListItem.test.tsx +3 -2
  625. package/src/components/Alert/__tests__/Alert.test.tsx +15 -13
  626. package/src/components/Alert/__tests__/AlertIcon.test.tsx +3 -2
  627. package/src/components/Alert/__tests__/AlertToggleExpandButton.test.tsx +3 -2
  628. package/src/components/Alert/examples/Alert.md +143 -103
  629. package/src/components/Alert/examples/AlertDynamicLiveRegion.tsx +2 -1
  630. package/src/components/Alert/examples/AlertGroupAsync.tsx +2 -1
  631. package/src/components/Alert/examples/AlertGroupMultipleDynamic.tsx +2 -1
  632. package/src/components/Alert/examples/AlertGroupSingularDynamic.tsx +2 -1
  633. package/src/components/Alert/examples/AlertGroupSingularDynamicOverflow.tsx +2 -1
  634. package/src/components/Alert/examples/AlertGroupToast.tsx +2 -1
  635. package/src/components/Alert/examples/AlertGroupToastOverflowCapture.tsx +2 -1
  636. package/src/components/Avatar/__tests__/Avatar.test.tsx +2 -1
  637. package/src/components/BackToTop/BackToTop.tsx +8 -6
  638. package/src/components/BackToTop/__tests__/BackToTop.test.tsx +2 -1
  639. package/src/components/Backdrop/__tests__/Backdrop.test.tsx +5 -4
  640. package/src/components/BackgroundImage/BackgroundImage.tsx +2 -1
  641. package/src/components/BackgroundImage/__tests__/BackgroundImage.test.tsx +2 -5
  642. package/src/components/Badge/__tests__/Badge.test.tsx +5 -4
  643. package/src/components/Banner/__tests__/Banner.test.tsx +4 -3
  644. package/src/components/Brand/Brand.tsx +5 -2
  645. package/src/components/Button/__tests__/Button.test.tsx +176 -118
  646. package/src/components/Button/__tests__/__snapshots__/Button.test.tsx.snap +4 -404
  647. package/src/components/Button/examples/Button.md +1 -1
  648. package/src/components/Checkbox/__tests__/Checkbox.test.tsx +2 -1
  649. package/src/components/Chip/Chip.tsx +2 -1
  650. package/src/components/CodeBlock/CodeBlockAction.tsx +2 -1
  651. package/src/components/CodeBlock/__tests__/CodeBlock.test.tsx +23 -18
  652. package/src/components/CodeBlock/__tests__/CodeBlockAction.test.tsx +26 -0
  653. package/src/components/CodeBlock/__tests__/CodeBlockCode.test.tsx +36 -0
  654. package/src/components/CodeBlock/__tests__/__snapshots__/CodeBlock.test.tsx.snap +4 -53
  655. package/src/components/CodeBlock/__tests__/__snapshots__/CodeBlockAction.test.tsx.snap +11 -0
  656. package/src/components/CodeBlock/__tests__/__snapshots__/CodeBlockCode.test.tsx.snap +15 -0
  657. package/src/components/DataList/__tests__/DataList.test.tsx +6 -5
  658. package/src/components/DataList/examples/DataList.md +4 -0
  659. package/src/components/DataList/examples/DataListWidthModifiers.tsx +8 -3
  660. package/src/components/DatePicker/DatePicker.tsx +2 -1
  661. package/src/components/DescriptionList/DescriptionList.tsx +6 -3
  662. package/src/components/DragDrop/Draggable.tsx +2 -1
  663. package/src/components/Drawer/DrawerPanelContent.tsx +9 -6
  664. package/src/components/Drawer/examples/Drawer.md +2 -0
  665. package/src/components/Drawer/examples/DrawerStackedContentBodyElements.tsx +4 -3
  666. package/src/components/Drawer/examples/DrawerStatic.tsx +2 -1
  667. package/src/components/DualListSelector/DualListSelectorControl.tsx +2 -1
  668. package/src/components/DualListSelector/DualListSelectorPane.tsx +4 -3
  669. package/src/components/EmptyState/EmptyStateHeader.tsx +2 -2
  670. package/src/components/EmptyState/EmptyStateIcon.tsx +2 -2
  671. package/src/components/EmptyState/__tests__/EmptyState.test.tsx +5 -8
  672. package/src/components/EmptyState/examples/EmptyState.md +1 -0
  673. package/src/components/EmptyState/examples/EmptyStateCustomIconColor.tsx +3 -1
  674. package/src/components/FileUpload/examples/FileUploadCustomPreview.tsx +2 -1
  675. package/src/components/FileUpload/examples/FileUploadCustomUpload.tsx +2 -1
  676. package/src/components/Form/Form.tsx +2 -1
  677. package/src/components/Form/FormAlert.tsx +2 -1
  678. package/src/components/Form/examples/Form.md +1 -0
  679. package/src/components/Form/examples/FormBasic.tsx +2 -1
  680. package/src/components/Form/examples/FormGroupLabelInfo.tsx +2 -1
  681. package/src/components/Form/examples/FormLimitWidth.tsx +2 -1
  682. package/src/components/Hint/__tests__/Hint.test.tsx +5 -4
  683. package/src/components/Hint/__tests__/HintBody.test.tsx +3 -2
  684. package/src/components/Hint/__tests__/HintFooter.test.tsx +3 -2
  685. package/src/components/Hint/__tests__/HintTitle.test.tsx +3 -2
  686. package/src/components/Icon/__tests__/Icon.test.tsx +12 -11
  687. package/src/components/JumpLinks/JumpLinks.tsx +1 -1
  688. package/src/components/Label/Label.tsx +2 -1
  689. package/src/components/Menu/Menu.tsx +7 -5
  690. package/src/components/Menu/MenuContent.tsx +4 -2
  691. package/src/components/Menu/MenuSearchInput.tsx +2 -1
  692. package/src/components/Menu/__mocks__/Menu.tsx +2 -1
  693. package/src/components/MenuToggle/examples/MenuToggle.css +3 -2
  694. package/src/components/Modal/ModalBoxHeader.tsx +1 -1
  695. package/src/components/Modal/examples/Modal.md +2 -0
  696. package/src/components/Modal/examples/ModalCustomHeaderFooter.tsx +3 -2
  697. package/src/components/Modal/examples/ModalWithForm.tsx +4 -3
  698. package/src/components/MultipleFileUpload/MultipleFileUploadStatus.tsx +1 -1
  699. package/src/components/MultipleFileUpload/examples/MultipleFileUploadBasic.tsx +2 -1
  700. package/src/components/NotificationDrawer/NotificationDrawerGroup.tsx +1 -1
  701. package/src/components/NotificationDrawer/NotificationDrawerList.tsx +2 -1
  702. package/src/components/NotificationDrawer/NotificationDrawerListItem.tsx +1 -3
  703. package/src/components/NumberInput/NumberInput.tsx +2 -1
  704. package/src/components/Page/__tests__/PageSidebarBody.test.tsx +15 -14
  705. package/src/components/Page/examples/Page.md +1 -0
  706. package/src/components/Page/examples/PageCenteredSection.tsx +3 -2
  707. package/src/components/Panel/PanelMain.tsx +2 -1
  708. package/src/components/Panel/__tests__/Panel.test.tsx +11 -10
  709. package/src/components/Panel/__tests__/PanelFooter.test.tsx +5 -4
  710. package/src/components/Panel/__tests__/PanelHeader.test.tsx +5 -4
  711. package/src/components/Panel/__tests__/PanelMain.test.tsx +7 -5
  712. package/src/components/Panel/__tests__/PanelMainBody.test.tsx +5 -4
  713. package/src/components/Progress/__tests__/ProgressHelperText.test.tsx +3 -2
  714. package/src/components/ProgressStepper/__tests__/ProgressStep.test.tsx +10 -9
  715. package/src/components/ProgressStepper/__tests__/ProgressStepper.test.tsx +5 -4
  716. package/src/components/SearchInput/SearchInput.tsx +2 -1
  717. package/src/components/SearchInput/__tests__/SearchInput.test.tsx +5 -3
  718. package/src/components/Sidebar/__tests__/Sidebar.test.tsx +7 -6
  719. package/src/components/Sidebar/__tests__/SidebarContent.test.tsx +5 -4
  720. package/src/components/Sidebar/__tests__/SidebarPanel.test.tsx +5 -4
  721. package/src/components/Skeleton/Skeleton.tsx +4 -2
  722. package/src/components/Skeleton/examples/Skeleton.md +8 -0
  723. package/src/components/Skeleton/examples/SkeletonText.tsx +15 -7
  724. package/src/components/Slider/Slider.tsx +8 -6
  725. package/src/components/Spinner/Spinner.tsx +2 -1
  726. package/src/components/Tabs/OverflowTab.tsx +1 -1
  727. package/src/components/Tabs/__tests__/OverflowTab.test.tsx +9 -8
  728. package/src/components/Text/__tests__/TextContent.test.tsx +3 -2
  729. package/src/components/Text/examples/Text.md +13 -0
  730. package/src/components/TextArea/__tests__/TextArea.test.tsx +2 -1
  731. package/src/components/TextInputGroup/__tests__/TextInputGroup.test.tsx +3 -2
  732. package/src/components/TextInputGroup/__tests__/TextInputGroupMain.test.tsx +10 -9
  733. package/src/components/TextInputGroup/__tests__/TextInputGroupUtilities.test.tsx +3 -3
  734. package/src/components/TextInputGroup/examples/TextInputGroupBasic.tsx +8 -5
  735. package/src/components/TimePicker/TimePicker.tsx +3 -1
  736. package/src/components/Timestamp/Timestamp.tsx +1 -1
  737. package/src/components/Timestamp/__tests__/Timestamp.test.tsx +5 -4
  738. package/src/components/Title/__tests__/Title.test.tsx +5 -4
  739. package/src/components/Toolbar/ToolbarItem.tsx +2 -1
  740. package/src/components/TreeView/TreeViewList.tsx +2 -1
  741. package/src/components/TreeView/TreeViewRoot.tsx +7 -11
  742. package/src/components/Truncate/__tests__/Truncate.test.tsx +10 -9
  743. package/src/components/Truncate/examples/Truncate.md +8 -5
  744. package/src/components/Truncate/examples/TruncateExamples.css +1 -1
  745. package/src/components/Wizard/Wizard.tsx +13 -3
  746. package/src/components/Wizard/WizardNavInternal.tsx +10 -3
  747. package/src/components/Wizard/WizardNavItem.tsx +4 -2
  748. package/src/components/Wizard/__tests__/Wizard.test.tsx +12 -0
  749. package/src/components/Wizard/examples/Wizard.md +4 -2
  750. package/src/components/Wizard/examples/WizardStepDrawerContent.tsx +2 -1
  751. package/src/components/Wizard/examples/WizardValidateOnButtonPress.tsx +2 -1
  752. package/src/components/Wizard/examples/WizardWithCustomNavItem.tsx +1 -1
  753. package/src/components/Wizard/examples/WizardWithSubmitProgress.tsx +2 -1
  754. package/src/demos/AlertGroup.md +0 -2
  755. package/src/demos/BackToTop.md +0 -2
  756. package/src/demos/Banner.md +21 -15
  757. package/src/demos/CardDemos.md +25 -2911
  758. package/src/demos/{Card/Card.md → CardView/CardView.md} +1 -2
  759. package/src/demos/{Card → CardView}/examples/CardView.tsx +2 -2
  760. package/src/demos/CustomMenus/CustomMenus.md +1 -0
  761. package/src/demos/CustomMenus/examples/ComposableDateSelect.tsx +5 -4
  762. package/src/demos/CustomMenus/examples/DateSelectDemo.tsx +5 -4
  763. package/src/demos/DashboardHeader.tsx +198 -0
  764. package/src/demos/DashboardWrapper.tsx +128 -0
  765. package/src/demos/JumpLinks.md +4 -3
  766. package/src/demos/Nav.md +13 -15
  767. package/src/demos/PasswordStrength.md +1 -0
  768. package/src/demos/PrimaryDetail.md +5 -6
  769. package/src/demos/ProgressDemo.md +2 -2
  770. package/src/demos/Tabs.md +8 -5
  771. package/src/demos/Toolbar.md +1 -553
  772. package/src/demos/Wizard/WizardDemo.md +6 -762
  773. package/src/demos/examples/AlertGroup/AlertGroupToastWithNotificationDrawer.tsx +2 -2
  774. package/src/demos/examples/BackToTop/BackToTopNameDemo.tsx +1 -1
  775. package/src/demos/examples/Card/CardAggregateStatus.tsx +249 -0
  776. package/src/demos/examples/Card/CardDetails.tsx +95 -0
  777. package/src/demos/examples/Card/CardEventsView.tsx +154 -0
  778. package/src/demos/examples/Card/CardHorizontalGrid.tsx +240 -0
  779. package/src/demos/examples/Card/CardHorizontalSplit.tsx +30 -0
  780. package/src/demos/examples/Card/CardLogView.tsx +118 -0
  781. package/src/demos/examples/Card/CardNested.tsx +532 -0
  782. package/src/demos/examples/Card/CardStatus.tsx +262 -0
  783. package/src/demos/examples/Card/CardStatusTabbed.tsx +113 -0
  784. package/src/demos/examples/Card/CardTrendDemo1.tsx +106 -0
  785. package/src/demos/examples/Card/CardTrendDemo2.tsx +76 -0
  786. package/src/demos/examples/Card/CardUtilizationDemo1.tsx +109 -0
  787. package/src/demos/examples/Card/CardUtilizationDemo2.tsx +103 -0
  788. package/src/demos/examples/Card/CardUtilizationDemo3.tsx +174 -0
  789. package/src/demos/examples/Card/CardUtilizationDemo4.tsx +50 -0
  790. package/src/demos/examples/Card/CardWithAccordion.tsx +514 -0
  791. package/src/demos/examples/JumpLinks/JumpLinksWithDrawer.js +3 -2
  792. package/src/demos/examples/Nav/NavDrilldown.tsx +1 -3
  793. package/src/demos/examples/PrimaryDetail/PrimaryDetailContentPadding.tsx +1 -1
  794. package/src/demos/examples/PrimaryDetail/PrimaryDetailFullPage.tsx +1 -1
  795. package/src/demos/examples/PrimaryDetail/PrimaryDetailInlineModifier.tsx +1 -1
  796. package/src/demos/examples/Tabs/ModalTabs.tsx +1 -1
  797. package/src/demos/examples/Tabs/NestedTabs.tsx +3 -2
  798. package/src/demos/examples/Tabs/NestedUnindentedTabs.tsx +1 -1
  799. package/src/demos/examples/Tabs/TabsAndTable.tsx +3 -2
  800. package/src/demos/examples/Toolbar/ConsoleLogViewerToolbar.tsx +493 -0
  801. package/src/demos/examples/Wizard/InModal.tsx +75 -0
  802. package/src/demos/examples/Wizard/InModalWithDrawer.tsx +115 -0
  803. package/src/demos/examples/Wizard/InModalWithDrawerInformationalStep.tsx +122 -0
  804. package/src/demos/examples/Wizard/InPage.tsx +35 -0
  805. package/src/demos/examples/Wizard/InPageWithDrawer.tsx +196 -0
  806. package/src/demos/examples/Wizard/InPageWithDrawerInformationalStep.tsx +201 -0
  807. package/src/demos/index.ts +2 -0
  808. package/src/deprecated/components/ApplicationLauncher/ApplicationLauncherText.tsx +2 -1
  809. package/src/deprecated/components/ApplicationLauncher/examples/ApplicationLauncherRouterLink.tsx +3 -1
  810. package/src/deprecated/components/Select/SelectMenu.tsx +1 -1
  811. package/src/deprecated/components/Wizard/examples/WizardFinished.tsx +2 -1
  812. package/src/deprecated/components/Wizard/examples/WizardValidateOnButtonPress.tsx +2 -1
  813. package/src/helpers/Popper/Popper.tsx +1 -1
  814. package/src/index.ts +1 -0
  815. package/src/layouts/Flex/__tests__/Flex.test.tsx +2 -1
  816. package/src/layouts/Gallery/Gallery.tsx +6 -6
  817. package/src/demos/examples/DashboardHeader.js +0 -220
  818. package/src/demos/examples/DashboardWrapper.js +0 -127
  819. /package/src/demos/{Card/examples/CardData.jsx → CardView/examples/CardViewData.jsx} +0 -0
  820. /package/{index.d.ts → src/demos/assets/index.d.ts} +0 -0
@@ -14,6 +14,15 @@ import chart_color_gold_100 from '@patternfly/react-tokens/dist/esm/chart_color_
14
14
  import chart_color_gold_300 from '@patternfly/react-tokens/dist/esm/chart_color_gold_300';
15
15
  import chart_color_orange_300 from '@patternfly/react-tokens/dist/esm/chart_color_orange_300';
16
16
  import chart_color_red_100 from '@patternfly/react-tokens/dist/esm/chart_color_red_100';
17
+ import l_gallery_GridTemplateColumns_min from '@patternfly/react-tokens/dist/esm/l_gallery_GridTemplateColumns_min';
18
+ import global_success_color_100 from '@patternfly/react-tokens/dist/esm/global_success_color_100';
19
+ import global_warning_color_100 from '@patternfly/react-tokens/dist/esm/global_warning_color_100';
20
+ import global_danger_color_100 from '@patternfly/react-tokens/dist/esm/global_danger_color_100';
21
+ import global_Color_200 from '@patternfly/react-tokens/dist/esm/global_Color_200';
22
+ import flex from '@patternfly/react-styles/css/utilities/Flex/flex';
23
+ import text from '@patternfly/react-styles/css/utilities/Text/text';
24
+ import sizing from '@patternfly/react-styles/css/utilities/Sizing/sizing';
25
+ import accessibility from '@patternfly/react-styles/css/utilities/Accessibility/accessibility';
17
26
 
18
27
  ## Demos
19
28
 
@@ -21,2993 +30,98 @@ import chart_color_red_100 from '@patternfly/react-tokens/dist/esm/chart_color_r
21
30
 
22
31
  The following demo shows how you may use a `<Grid>` within a card for scenarios that require multiple subsections.
23
32
 
24
- ```js
25
- import React from 'react';
26
- import {
27
- Card,
28
- CardHeader,
29
- CardTitle,
30
- CardBody,
31
- CardExpandableContent,
32
- Level,
33
- LabelGroup,
34
- Label,
35
- Grid,
36
- Flex,
37
- List,
38
- ListItem,
39
- Button,
40
- Dropdown,
41
- DropdownList,
42
- DropdownItem,
43
- MenuToggle
44
- } from '@patternfly/react-core';
45
- import InfoCircleIcon from '@patternfly/react-icons/dist/esm/icons/info-circle-icon';
46
- import ArrowRightIcon from '@patternfly/react-icons/dist/esm/icons/arrow-right-icon';
47
- import ExternalLinkAltIcon from '@patternfly/react-icons/dist/esm/icons/external-link-alt-icon';
48
- import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
49
-
50
- class CardGridDemo extends React.Component {
51
- constructor(props) {
52
- super(props);
53
- this.state = { isCardExpanded: false, isDropdownOpen: false };
54
-
55
- this.onCardExpand = () => {
56
- this.setState({
57
- isCardExpanded: !this.state.isCardExpanded
58
- });
59
- };
60
-
61
- this.onActionToggle = () => {
62
- this.setState((prevState) => ({
63
- isDropdownOpen: !prevState.isDropdownOpen
64
- }));
65
- };
66
-
67
- this.onActionSelect = () => {
68
- this.setState({
69
- isDropdownOpen: false
70
- });
71
- };
72
- }
73
-
74
- render() {
75
- const { isCardExpanded, isDropdownOpen } = this.state;
76
- const dropdownItems = (
77
- <>
78
- <DropdownItem key="action1">Action 1</DropdownItem>
79
- <DropdownItem key="action2">Action 2</DropdownItem>
80
- <DropdownItem key="disabled action3" isDisabled>
81
- Disabled Action 3
82
- </DropdownItem>
83
- <DropdownItem key="action4">Action 4</DropdownItem>
84
- </>
85
- );
86
- const headerActions = (
87
- <Dropdown
88
- onSelect={this.onActionSelect}
89
- isOpen={isDropdownOpen}
90
- popperProps={{ position: 'right' }}
91
- onOpenChange={(isOpen) => this.setState({ isDropdownOpen: isOpen })}
92
- toggle={(toggleRef) => (
93
- <MenuToggle
94
- ref={toggleRef}
95
- isExpanded={isDropdownOpen}
96
- onClick={this.onActionToggle}
97
- variant="plain"
98
- aria-label="Horizontal card grid demo kebab toggle"
99
- >
100
- <EllipsisVIcon aria-hidden="true" />
101
- </MenuToggle>
102
- )}
103
- >
104
- <DropdownList>{dropdownItems}</DropdownList>
105
- </Dropdown>
106
- );
33
+ ```ts file="./examples/Card/CardHorizontalGrid.tsx"
107
34
 
108
- return (
109
- <Card id="horizontal card" isExpanded={isCardExpanded}>
110
- <CardHeader
111
- actions={{ actions: headerActions }}
112
- onExpand={this.onCardExpand}
113
- toggleButtonProps={{
114
- id: 'toggle-button',
115
- 'aria-label': 'Actions',
116
- 'aria-labelledby': 'titleId toggle-button',
117
- 'aria-expanded': isCardExpanded
118
- }}
119
- >
120
- {isCardExpanded && <CardTitle id="titleId">Getting Started</CardTitle>}
121
- {!isCardExpanded && (
122
- <Level hasGutter>
123
- <CardTitle id="titleId">Getting Started</CardTitle>
124
- <LabelGroup isCompact>
125
- <Label isCompact icon={<InfoCircleIcon />} color="blue">
126
- Set up your cluster
127
- </Label>
128
- <Label isCompact icon={<InfoCircleIcon />} color="purple">
129
- Guided tours
130
- </Label>
131
- <Label isCompact icon={<InfoCircleIcon />} color="green">
132
- Quick starts
133
- </Label>
134
- <Label isCompact icon={<InfoCircleIcon />} color="orange">
135
- Learning resources
136
- </Label>
137
- </LabelGroup>
138
- </Level>
139
- )}
140
- </CardHeader>
141
- <CardExpandableContent>
142
- <CardBody>
143
- <Grid md={6} lg={3} hasGutter>
144
- <Flex
145
- spaceItems={{ default: 'spaceItemsLg' }}
146
- alignItems={{ default: 'alignItemsFlexStart' }}
147
- direction={{ default: 'column' }}
148
- >
149
- <Flex
150
- spaceItems={{ default: 'spaceItemsSm' }}
151
- alignItems={{ default: 'alignItemsFlexStart' }}
152
- direction={{ default: 'column' }}
153
- grow={{ default: 'grow' }}
154
- >
155
- <Label icon={<InfoCircleIcon />} color="blue">
156
- Set up your cluster
157
- </Label>
158
- <p>Continue setting up your cluster to access all you cain in the Console</p>
159
- <List isPlain>
160
- <ListItem>
161
- <a href="#">Add identity provider</a>
162
- </ListItem>
163
- <ListItem>
164
- <a href="#">Configure alert receivers</a>
165
- </ListItem>
166
- <ListItem>
167
- <a href="#">Configure default ingress certificate</a>
168
- </ListItem>
169
- </List>
170
- </Flex>
171
- <Button href="#" component="a" variant="link" isInline icon={<ArrowRightIcon />} iconPosition="end">
172
- View all set up cluster steps
173
- </Button>
174
- </Flex>
175
- <Flex
176
- spaceItems={{ default: 'spaceItemsLg' }}
177
- alignItems={{ default: 'alignItemsFlexStart' }}
178
- direction={{ default: 'column' }}
179
- >
180
- <Flex
181
- spaceItems={{ default: 'spaceItemsSm' }}
182
- alignItems={{ default: 'alignItemsFlexStart' }}
183
- direction={{ default: 'column' }}
184
- grow={{ default: 'grow' }}
185
- >
186
- <Label icon={<InfoCircleIcon />} color="purple">
187
- Guided tours
188
- </Label>
189
- <p>Tour some of the key features around the console</p>
190
- <List isPlain>
191
- <ListItem>
192
- <a href="#">Tour the console</a>
193
- </ListItem>
194
- <ListItem>
195
- <a href="#">Getting started with Serverless</a>
196
- </ListItem>
197
- </List>
198
- </Flex>
199
- <Button href="#" component="a" variant="link" isInline icon={<ArrowRightIcon />} iconPosition="end">
200
- View all guided tours
201
- </Button>
202
- </Flex>
203
- <Flex
204
- spaceItems={{ default: 'spaceItemsLg' }}
205
- alignItems={{ default: 'alignItemsFlexStart' }}
206
- direction={{ default: 'column' }}
207
- >
208
- <Flex
209
- spaceItems={{ default: 'spaceItemsSm' }}
210
- alignItems={{ default: 'alignItemsFlexStart' }}
211
- direction={{ default: 'column' }}
212
- grow={{ default: 'grow' }}
213
- >
214
- <Label icon={<InfoCircleIcon />} color="green">
215
- Quick starts
216
- </Label>
217
- <p>Get started with features using our step-by-step documentation</p>
218
- <List isPlain>
219
- <ListItem>
220
- <a href="#">Getting started with Serverless</a>
221
- </ListItem>
222
- <ListItem>
223
- <a href="#">Explore virtualization</a>
224
- </ListItem>
225
- <ListItem>
226
- <a href="#">Build pipelines</a>
227
- </ListItem>
228
- </List>
229
- </Flex>
230
- <Button href="#" component="a" variant="link" isInline icon={<ArrowRightIcon />} iconPosition="end">
231
- View all quick starts
232
- </Button>
233
- </Flex>
234
- <Flex
235
- spaceItems={{ default: 'spaceItemsLg' }}
236
- alignItems={{ default: 'alignItemsFlexStart' }}
237
- direction={{ default: 'column' }}
238
- >
239
- <Flex
240
- spaceItems={{ default: 'spaceItemsSm' }}
241
- alignItems={{ default: 'alignItemsFlexStart' }}
242
- direction={{ default: 'column' }}
243
- grow={{ default: 'grow' }}
244
- >
245
- <Label icon={<InfoCircleIcon />} color="orange">
246
- Learning resources
247
- </Label>
248
- <p>Learn about new features within the Console and get started with demo apps</p>
249
- <List isPlain>
250
- <ListItem>
251
- <a href="#">See what's possible with the Explore page</a>
252
- </ListItem>
253
- <ListItem>
254
- <a href="#">
255
- OpenShift 4.5: Top Tasks
256
- <ExternalLinkAltIcon />
257
- </a>
258
- </ListItem>
259
- <ListItem>
260
- <a href="#">Try a demo app</a>
261
- </ListItem>
262
- </List>
263
- </Flex>
264
- <Button href="#" component="a" variant="link" isInline icon={<ArrowRightIcon />} iconPosition="end">
265
- View all learning resources
266
- </Button>
267
- </Flex>
268
- </Grid>
269
- </CardBody>
270
- </CardExpandableContent>
271
- </Card>
272
- );
273
- }
274
- }
275
35
  ```
276
36
 
277
37
  ### Horizontal split
278
38
 
279
39
  The following demo shows how you may utilize `<Grid>` to split a card into two halves, one with an image, and one with text content.
280
40
 
281
- ```js
282
- import React from 'react';
283
- import { Card, CardTitle, CardBody, CardFooter, Grid, GridItem, Button } from '@patternfly/react-core';
41
+ ```ts file="./examples/Card/CardHorizontalSplit.tsx"
284
42
 
285
- CardHorizontalSplitDemo = () => {
286
- return (
287
- <Card id="card-demo-horizontal-split-example" isFlat>
288
- <Grid md={6}>
289
- <GridItem
290
- style={{
291
- minHeight: '200px',
292
- backgroundPosition: 'center',
293
- backgroundSize: 'cover',
294
- backgroundImage: 'url(/assets/images/pfbg_992@2x.jpg)'
295
- }}
296
- />
297
- <GridItem>
298
- <CardTitle>Headline</CardTitle>
299
- <CardBody>
300
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse arcu purus, lobortis nec euismod eu,
301
- tristique ut sapien. Nullam turpis lectus, aliquet sit amet volutpat eu, semper eget quam. Maecenas in
302
- tempus diam. Aenean interdum velit sed massa aliquet, sit amet malesuada nulla hendrerit. Aenean non
303
- faucibus odio. Etiam non metus turpis. Praesent sollicitudin elit neque, id ullamcorper nibh faucibus eget.
304
- </CardBody>
305
- <CardFooter>
306
- <Button variant="tertiary">Call to action</Button>
307
- </CardFooter>
308
- </GridItem>
309
- </Grid>
310
- </Card>
311
- );
312
- };
313
43
  ```
314
44
 
315
45
  ### Details card
316
46
 
317
- ```js
318
- import React from 'react';
319
- import {
320
- Card,
321
- CardTitle,
322
- CardBody,
323
- CardFooter,
324
- Gallery,
325
- Title,
326
- DescriptionList,
327
- DescriptionListGroup,
328
- DescriptionListTerm,
329
- DescriptionListDescription,
330
- Divider
331
- } from '@patternfly/react-core';
47
+ ```ts file="./examples/Card/CardDetails.tsx"
332
48
 
333
- CardDetailsDemo = () => {
334
- return (
335
- <Gallery hasGutter style={{ '--pf-v5-l-gallery--GridTemplateColumns--min': '260px' }}>
336
- <Card>
337
- <CardTitle>
338
- <Title headingLevel="h4" size="xl">
339
- Details
340
- </Title>
341
- </CardTitle>
342
- <CardBody>
343
- <DescriptionList>
344
- <DescriptionListGroup>
345
- <DescriptionListTerm>Cluster API Address</DescriptionListTerm>
346
- <DescriptionListDescription>
347
- <a href="#">https://api1.devcluster.openshift.com</a>
348
- </DescriptionListDescription>
349
- </DescriptionListGroup>
350
- <DescriptionListGroup>
351
- <DescriptionListTerm>Cluster ID</DescriptionListTerm>
352
- <DescriptionListDescription>63b97ac1-b850-41d9-8820-239becde9e86</DescriptionListDescription>
353
- </DescriptionListGroup>
354
- <DescriptionListGroup>
355
- <DescriptionListTerm>Provide</DescriptionListTerm>
356
- <DescriptionListDescription>AWS</DescriptionListDescription>
357
- </DescriptionListGroup>
358
- <DescriptionListGroup>
359
- <DescriptionListTerm>OpenShift Version</DescriptionListTerm>
360
- <DescriptionListDescription>4.5.0.ci-2020-06-16-015028</DescriptionListDescription>
361
- </DescriptionListGroup>
362
- <DescriptionListGroup>
363
- <DescriptionListTerm>Update Channel</DescriptionListTerm>
364
- <DescriptionListDescription>stable-4.5</DescriptionListDescription>
365
- </DescriptionListGroup>
366
- </DescriptionList>
367
- </CardBody>
368
- <Divider />
369
- <CardFooter>
370
- <a href="#">View Settings</a>
371
- </CardFooter>
372
- </Card>
373
- <Card>
374
- <CardTitle>
375
- <Title headingLevel="h4" size="xl">
376
- Details
377
- </Title>
378
- </CardTitle>
379
- <CardBody>
380
- <DescriptionList>
381
- <DescriptionListGroup>
382
- <DescriptionListTerm>Cluster API Address</DescriptionListTerm>
383
- <DescriptionListDescription>
384
- <a href="#">https://api2.devcluster.openshift.com</a>
385
- </DescriptionListDescription>
386
- </DescriptionListGroup>
387
- <DescriptionListGroup>
388
- <DescriptionListTerm>Cluster ID</DescriptionListTerm>
389
- <DescriptionListDescription>08908908-b850-41d9-8820-239becde9e86</DescriptionListDescription>
390
- </DescriptionListGroup>
391
- <DescriptionListGroup>
392
- <DescriptionListTerm>Provider</DescriptionListTerm>
393
- <DescriptionListDescription>Azure</DescriptionListDescription>
394
- </DescriptionListGroup>
395
- <DescriptionListGroup>
396
- <DescriptionListTerm>OpenShift Version</DescriptionListTerm>
397
- <DescriptionListDescription>4.5.0.ci-2020-06-16-015026</DescriptionListDescription>
398
- </DescriptionListGroup>
399
- <DescriptionListGroup>
400
- <DescriptionListTerm>Update Channel</DescriptionListTerm>
401
- <DescriptionListDescription>stable-4.4</DescriptionListDescription>
402
- </DescriptionListGroup>
403
- </DescriptionList>
404
- </CardBody>
405
- <Divider />
406
- <CardFooter>
407
- <a href="#">View Settings</a>
408
- </CardFooter>
409
- </Card>
410
- </Gallery>
411
- );
412
- };
413
49
  ```
414
50
 
415
51
  ### Aggregate status card
416
52
 
417
- ```ts
418
- import * as React from 'react';
419
- import {
420
- Card,
421
- CardBody,
422
- CardTitle,
423
- Divider,
424
- Flex,
425
- FlexItem,
426
- Gallery,
427
- Grid,
428
- GridItem,
429
- Stack
430
- } from '@patternfly/react-core';
431
- import CheckCircleIcon from '@patternfly/react-icons/dist/js/icons/check-circle-icon';
432
- import ExclamationCircleIcon from '@patternfly/react-icons/dist/js/icons/exclamation-circle-icon';
433
- import ExclamationTriangleIcon from '@patternfly/react-icons/dist/js/icons/exclamation-triangle-icon';
434
- import TimesCircleIcon from '@patternfly/react-icons/dist/js/icons/times-circle-icon';
53
+ ```ts file="./examples/Card/CardAggregateStatus.tsx"
435
54
 
436
- const cardData = {
437
- iconOnly: [
438
- {
439
- title: '5 Clusters',
440
- content: [
441
- {
442
- icon: <CheckCircleIcon color="var(--pf-v5-global--success-color--100)" />
443
- }
444
- ],
445
- layout: 'icon'
446
- },
447
- {
448
- title: '15 Clusters',
449
- content: [
450
- {
451
- icon: <ExclamationTriangleIcon color="var(--pf-v5-global--warning-color--100)" />
452
- }
453
- ],
454
- layout: 'icon'
455
- },
456
- {
457
- title: '3 Clusters',
458
- content: [
459
- {
460
- icon: <TimesCircleIcon color="var(--pf-v5-global--danger-color--100)" />
461
- }
462
- ],
463
- layout: 'icon'
464
- }
465
- ],
466
- iconWithCount: [
467
- {
468
- title: '10 Hosts',
469
- content: [
470
- {
471
- icon: <ExclamationCircleIcon color="var(--pf-v5-global--success-color--100)" />,
472
- count: 2
473
- },
474
- {
475
- icon: <ExclamationTriangleIcon color="var(--pf-v5-global--warning-color--100)" />,
476
- count: 1
477
- }
478
- ],
479
- layout: 'multiIcon'
480
- },
481
- {
482
- title: '50 Hosts',
483
- content: [
484
- {
485
- icon: <CheckCircleIcon color="var(--pf-v5-global--success-color--100)" />,
486
- count: 5
487
- },
488
- {
489
- icon: <TimesCircleIcon color="var(--pf-v5-global--danger-color--100)" />,
490
- count: 12
491
- }
492
- ],
493
- layout: 'multiIcon'
494
- },
495
- {
496
- title: '12 Hosts',
497
- content: [
498
- {
499
- icon: <ExclamationTriangleIcon color="var(--pf-v5-global--warning-color--100)" />,
500
- count: 3
501
- },
502
- {
503
- icon: <TimesCircleIcon color="var(--pf-v5-global--danger-color--100)" />,
504
- count: 7
505
- }
506
- ],
507
- layout: 'multiIcon'
508
- }
509
- ],
510
- withSubtitle: [
511
- {
512
- title: '13 Hosts',
513
- content: [
514
- {
515
- icon: <TimesCircleIcon color="var(--pf-v5-global--danger-color--100)" />,
516
- status: '2 errors',
517
- subtitle: 'subtitle'
518
- },
519
- {
520
- icon: <ExclamationTriangleIcon color="var(--pf-v5-global--warning-color--100)" />,
521
- status: '1 warning',
522
- subtitle: 'subtitle'
523
- }
524
- ],
525
- layout: 'withSubtitle'
526
- },
527
- {
528
- title: '3 Hosts',
529
- content: [
530
- {
531
- icon: <CheckCircleIcon color="var(--pf-v5-global--success-color--100)" />,
532
- status: '2 successes',
533
- subtitle: 'subtitle'
534
- },
535
- {
536
- icon: <ExclamationTriangleIcon color="var(--pf-v5-global--warning-color--100)" />,
537
- status: '3 warnings',
538
- subtitle: 'subtitle'
539
- }
540
- ],
541
- layout: 'withSubtitle'
542
- },
543
- {
544
- title: '50 Hosts',
545
- content: [
546
- {
547
- icon: <ExclamationTriangleIcon color="var(--pf-v5-global--warning-color--100)" />,
548
- status: '7 warnings',
549
- subtitle: 'subtitle'
550
- },
551
- {
552
- icon: <TimesCircleIcon color="var(--pf-v5-global--danger-color--100)" />,
553
- status: '1 error',
554
- subtitle: 'subtitle'
555
- }
556
- ],
557
- layout: 'withSubtitle'
558
- }
559
- ]
560
- };
561
-
562
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
563
- const AggregateStatusCards: React.FunctionComponent = () => {
564
- const renderContent = (content, layout) => {
565
- if (layout === 'icon') {
566
- return content[0].icon;
567
- }
568
- if (layout === 'multiIcon') {
569
- return (
570
- <Flex display={{ default: 'inlineFlex' }}>
571
- {content.map(({ icon, count }, index: number) => (
572
- <React.Fragment key={index}>
573
- <Flex spaceItems={{ default: 'spaceItemsSm' }}>
574
- <FlexItem>{icon}</FlexItem>
575
- <FlexItem>
576
- <a href="#">{count}</a>
577
- </FlexItem>
578
- </Flex>
579
- {content.length > 1 && index === 0 && (
580
- <Divider
581
- key={`${index}_d`}
582
- orientation={{
583
- default: 'vertical'
584
- }}
585
- />
586
- )}
587
- </React.Fragment>
588
- ))}
589
- </Flex>
590
- );
591
- }
592
- if (layout === 'withSubtitle') {
593
- return (
594
- <Flex justifyContent={{ default: 'justifyContentSpaceAround' }}>
595
- {content.map(({ icon, status, subtitle }, index) => (
596
- <Flex key={index}>
597
- <FlexItem>{icon}</FlexItem>
598
- <Stack>
599
- <a href="#">{status}</a>
600
- <span>{subtitle}</span>
601
- </Stack>
602
- </Flex>
603
- ))}
604
- </Flex>
605
- );
606
- }
607
- };
608
- return (
609
- <Grid hasGutter>
610
- {Object.keys(cardData).map((cardGroup, groupIndex) => {
611
- let galleryWidth;
612
- let cardAlign;
613
- let titleAlign;
614
- if (cardGroup === 'withSubtitle') {
615
- galleryWidth = '260px';
616
- cardAlign = '';
617
- titleAlign = 'center';
618
- } else {
619
- cardAlign = 'center';
620
- }
621
- return (
622
- <GridItem key={groupIndex}>
623
- <Gallery hasGutter style={{ '--pf-v5-l-gallery--GridTemplateColumns--min': galleryWidth } as any}>
624
- {cardData[cardGroup].map(({ title, content, layout }, cardIndex) => (
625
- <Card style={{ textAlign: cardAlign }} key={`${groupIndex}${cardIndex}`} component="div">
626
- <CardTitle style={{ textAlign: titleAlign }}>{title}</CardTitle>
627
- <CardBody>{renderContent(content, layout)}</CardBody>
628
- </Card>
629
- ))}
630
- </Gallery>
631
- </GridItem>
632
- );
633
- })}
634
- </Grid>
635
- );
636
- };
637
55
  ```
638
56
 
639
57
  ### Status
640
58
 
641
- ```ts
642
- import * as React from 'react';
643
- import {
644
- Alert,
645
- Card,
646
- CardBody,
647
- CardHeader,
648
- Divider,
649
- Flex,
650
- FlexItem,
651
- Grid,
652
- GridItem,
653
- Label,
654
- NotificationDrawer,
655
- NotificationDrawerBody,
656
- NotificationDrawerGroup,
657
- NotificationDrawerList,
658
- NotificationDrawerListItem,
659
- NotificationDrawerListItemBody,
660
- NotificationDrawerListItemHeader,
661
- Popover,
662
- Title
663
- } from '@patternfly/react-core';
664
- import { Table, Thead, Tbody, Tr, Th, Td, ExpandableRowContent } from '@patternfly/react-table';
665
- import BellIcon from '@patternfly/react-icons/dist/js/icons/bell-icon';
666
- import CheckCircleIcon from '@patternfly/react-icons/dist/js/icons/check-circle-icon';
667
- import ExclamationCircleIcon from '@patternfly/react-icons/dist/js/icons/exclamation-circle-icon';
668
- import ExclamationTriangleIcon from '@patternfly/react-icons/dist/js/icons/exclamation-triangle-icon';
669
-
670
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
671
- const StatusPlain: React.FunctionComponent = () => {
672
- const [drawerExpanded, setDrawerExpanded] = React.useState(false);
673
- const handleDrawerToggleClick = () => {
674
- setDrawerExpanded(!drawerExpanded);
675
- };
676
-
677
- const [rowsExpanded, setRowsExpanded] = React.useState([false, false, false]);
678
- const handleToggleExpand = (_: any, rowIndex: number) => {
679
- const newRowsExpanded = [...rowsExpanded];
680
- newRowsExpanded[rowIndex] = !rowsExpanded[rowIndex];
681
- setRowsExpanded(newRowsExpanded);
682
- };
683
-
684
- const header = (
685
- <CardHeader>
686
- <Title headingLevel="h4" size="lg">
687
- Status
688
- </Title>
689
- </CardHeader>
690
- );
691
-
692
- const columns = ['Components', 'Response Rate'];
59
+ ```ts file="./examples/Card/CardStatus.tsx"
693
60
 
694
- const rows = [
695
- {
696
- content: ['API Servers', '20%'],
697
- child: (
698
- <Alert
699
- title="This is a critical alert that can be associated with the control panel."
700
- variant="danger"
701
- isInline
702
- ></Alert>
703
- )
704
- },
705
- {
706
- content: ['Controller Managers', '100%'],
707
- child: (
708
- <Alert
709
- title="This is a critical alert that can be associated with the control panel."
710
- variant="danger"
711
- isInline
712
- ></Alert>
713
- )
714
- },
715
- {
716
- content: ['etcd', '91%'],
717
- child: (
718
- <Alert
719
- title="This is a critical alert that can be associated with the control panel."
720
- variant="danger"
721
- isInline
722
- ></Alert>
723
- )
724
- }
725
- ];
726
-
727
- const popoverBodyContent = (
728
- <>
729
- <div>
730
- Components of the Control Panel are responsible for maintaining and reconciling the state of the cluster.
731
- </div>
732
- <Table variant="compact">
733
- <Thead>
734
- <Tr>
735
- <Th />
736
- {columns.map((column, columnIndex) => (
737
- <Th key={columnIndex} modifier="fitContent">
738
- {column}
739
- </Th>
740
- ))}
741
- </Tr>
742
- </Thead>
743
- {rows.map((row, rowIndex) => {
744
- const parentRow = (
745
- <Tr key={rowIndex}>
746
- <Td
747
- key={`${rowIndex}_0`}
748
- expand={row.child && { isExpanded: rowsExpanded[rowIndex], rowIndex, onToggle: handleToggleExpand }}
749
- />
750
- {row.content.map((cell, cellIndex) => (
751
- <Td key={`${rowIndex}_${cellIndex}`} dataLabel={columns[cellIndex]} modifier="fitContent">
752
- {cell}
753
- </Td>
754
- ))}
755
- </Tr>
756
- );
757
- const childRow = row.child ? (
758
- <Tr key={`${rowIndex}_child`} isExpanded={rowsExpanded[rowIndex]}>
759
- <Td key={`${rowIndex}_1`} colSpan={3} dataLabel={`${rowIndex}_child`}>
760
- <ExpandableRowContent>{row.child}</ExpandableRowContent>
761
- </Td>
762
- </Tr>
763
- ) : null;
764
- return (
765
- <Tbody key={rowIndex} isExpanded={rowsExpanded[rowIndex]}>
766
- {parentRow}
767
- {childRow}
768
- </Tbody>
769
- );
770
- })}
771
- </Table>
772
- </>
773
- );
774
-
775
- const body = (
776
- <CardBody>
777
- <Grid hasGutter sm={6} lg={3}>
778
- <GridItem>
779
- <Flex spaceItems={{ default: 'spaceItemsSm' }}>
780
- <FlexItem>
781
- <CheckCircleIcon color="var(--pf-v5-global--success-color--100)" />
782
- </FlexItem>
783
- <FlexItem>
784
- <span>Cluster</span>
785
- </FlexItem>
786
- </Flex>
787
- </GridItem>
788
- <GridItem>
789
- <Flex spaceItems={{ default: 'spaceItemsSm' }}>
790
- <FlexItem>
791
- <ExclamationCircleIcon color="var(--pf-v5-global--danger-color--100)" />
792
- </FlexItem>
793
- <FlexItem>
794
- <Popover headerContent="Control Panel Status" bodyContent={popoverBodyContent} minWidth="400px">
795
- <a href="#" onClick={(e) => e.preventDefault()}>
796
- Control Panel
797
- </a>
798
- </Popover>
799
- </FlexItem>
800
- </Flex>
801
- </GridItem>
802
- <GridItem>
803
- <Flex spaceItems={{ default: 'spaceItemsSm' }}>
804
- <FlexItem>
805
- <ExclamationCircleIcon color="var(--pf-v5-global--danger-color--100)" />
806
- </FlexItem>
807
- <Flex direction={{ default: 'column' }} spaceItems={{ default: 'spaceItemsNone' }}>
808
- <FlexItem>
809
- <a href="#">Operators</a>
810
- </FlexItem>
811
- <FlexItem>
812
- <span style={{ color: 'var(--pf-v5-global--Color--200)' }}>1 degraded</span>
813
- </FlexItem>
814
- </Flex>
815
- </Flex>
816
- </GridItem>
817
- <GridItem>
818
- <Flex spaceItems={{ default: 'spaceItemsSm' }}>
819
- <FlexItem>
820
- <CheckCircleIcon color="var(--pf-v5-global--success-color--100)" />
821
- </FlexItem>
822
- <Flex direction={{ default: 'column' }} spaceItems={{ default: 'spaceItemsNone' }}>
823
- <FlexItem>
824
- <a href="#">Image Vulnerabilities</a>
825
- </FlexItem>
826
- <FlexItem>
827
- <span style={{ color: 'var(--pf-v5-global--Color--200)' }}>0 vulnerabilities</span>
828
- </FlexItem>
829
- </Flex>
830
- </Flex>
831
- </GridItem>
832
- </Grid>
833
- </CardBody>
834
- );
835
-
836
- const drawerTitle = (
837
- <Flex spaceItems={{ default: 'spaceItemsSm' }}>
838
- <FlexItem spacer={{ default: 'spacerMd' }}>
839
- <span>Notifications</span>
840
- </FlexItem>
841
- <Label color="red" icon={<ExclamationCircleIcon />}>
842
- 1
843
- </Label>
844
- <Label color="orange" icon={<ExclamationTriangleIcon />}>
845
- 3
846
- </Label>
847
- <Label color="green" icon={<CheckCircleIcon />}>
848
- 3
849
- </Label>
850
- <Label color="blue" icon={<ExclamationCircleIcon />}>
851
- 3
852
- </Label>
853
- <Label color="green" icon={<BellIcon />}>
854
- 3
855
- </Label>
856
- </Flex>
857
- );
858
-
859
- const drawer = (
860
- <NotificationDrawer>
861
- <NotificationDrawerBody>
862
- <NotificationDrawerGroup
863
- count={0}
864
- onExpand={handleDrawerToggleClick}
865
- isExpanded={drawerExpanded}
866
- title={drawerTitle}
867
- headingLevel="h4"
868
- >
869
- <NotificationDrawerList isHidden={!drawerExpanded}>
870
- <NotificationDrawerListItem variant="danger">
871
- <NotificationDrawerListItemHeader
872
- variant="danger"
873
- headingLevel="h5"
874
- title="Critical alert regarding control plane"
875
- />
876
- <NotificationDrawerListItemBody>
877
- This is a long description to show how the title will wrap if it is long and wraps to multiple lines.
878
- </NotificationDrawerListItemBody>
879
- </NotificationDrawerListItem>
880
- <NotificationDrawerListItem variant="warning">
881
- <NotificationDrawerListItemHeader variant="warning" headingLevel="h5" title="Warning alert" />
882
- <NotificationDrawerListItemBody>
883
- This is a warning notification description.
884
- </NotificationDrawerListItemBody>
885
- </NotificationDrawerListItem>
886
- </NotificationDrawerList>
887
- </NotificationDrawerGroup>
888
- </NotificationDrawerBody>
889
- </NotificationDrawer>
890
- );
891
-
892
- return (
893
- <Card>
894
- {header}
895
- {body}
896
- <Divider />
897
- {drawer}
898
- </Card>
899
- );
900
- };
901
61
  ```
902
62
 
903
63
  ### Status Tabbed
904
64
 
905
- ```ts
906
- import * as React from 'react';
907
- import {
908
- Card,
909
- CardBody,
910
- CardHeader,
911
- DescriptionList,
912
- DescriptionListDescription,
913
- DescriptionListGroup,
914
- DescriptionListTerm,
915
- Flex,
916
- FlexItem,
917
- Grid,
918
- GridItem,
919
- Spinner,
920
- Tab,
921
- TabContent,
922
- Tabs,
923
- TabTitleText,
924
- Title
925
- } from '@patternfly/react-core';
926
- import CheckCircleIcon from '@patternfly/react-icons/dist/esm/icons/check-circle-icon';
927
- import ExclamationCircleIcon from '@patternfly/react-icons/dist/esm/icons/exclamation-circle-icon';
928
-
929
- const descriptionListData = [
930
- {
931
- status: 'Running',
932
- resourceName: 'Resource name that is long and can wrap',
933
- detail: '121 Systems',
934
- icon: <CheckCircleIcon />
935
- },
936
- {
937
- status: 'Ready',
938
- resourceName: 'Resource name that is long and can wrap',
939
- detail: '123 Systems',
940
- icon: <ExclamationCircleIcon />
941
- },
942
- {
943
- status: 'Running',
944
- resourceName: 'Resource name that is long and can wrap',
945
- detail: '122 Systems',
946
- icon: <CheckCircleIcon />
947
- },
948
- {
949
- status: 'Ready',
950
- resourceName: 'Resource name that is long and can wrap',
951
- detail: '124 Systems',
952
- icon: <ExclamationCircleIcon />
953
- }
954
- ];
65
+ ```ts file="./examples/Card/CardStatusTabbed.tsx"
955
66
 
956
- const Status: React.FunctionComponent = () => {
957
- const [activeTabKey, setActiveTabKey] = React.useState(0);
958
- const handleTabClick = (event: React.MouseEvent, tabIndex: number) => {
959
- setActiveTabKey(tabIndex);
960
- };
961
-
962
- const tabContent = (
963
- <DescriptionList isHorizontal columnModifier={{ lg: '2Col' }}>
964
- {descriptionListData.map(({ status, resourceName, detail, icon }, index) => (
965
- <DescriptionListGroup key={index}>
966
- <DescriptionListTerm>
967
- <Flex>
968
- <FlexItem>{icon}</FlexItem>
969
- <FlexItem>
970
- <Title headingLevel="h4" size="md">
971
- {status}
972
- </Title>
973
- </FlexItem>
974
- </Flex>
975
- </DescriptionListTerm>
976
- <DescriptionListDescription>
977
- <a href="#">{resourceName}</a>
978
- <div>{detail}</div>
979
- </DescriptionListDescription>
980
- </DescriptionListGroup>
981
- ))}
982
- </DescriptionList>
983
- );
984
-
985
- return (
986
- <>
987
- <Card>
988
- <CardHeader>
989
- <Title headingLevel="h4" size="lg">
990
- Status
991
- </Title>
992
- </CardHeader>
993
- <CardBody>
994
- <Tabs isFilled id="status-tabs" activeKey={activeTabKey} onSelect={handleTabClick}>
995
- {[1, 2, 3].map((tab, tabIndex) => (
996
- <Tab
997
- key={tabIndex}
998
- eventKey={tabIndex}
999
- title={<TabTitleText>{`Object ${tabIndex + 1}`}</TabTitleText>}
1000
- tabContentId={`tabContent${tabIndex}`}
1001
- />
1002
- ))}
1003
- </Tabs>
1004
- </CardBody>
1005
- <CardBody>
1006
- {[1, 2, 3].map((tab, tabIndex) => (
1007
- <TabContent
1008
- key={tabIndex}
1009
- eventKey={tabIndex}
1010
- id={`tabContent${tabIndex}`}
1011
- activeKey={activeTabKey}
1012
- hidden={tabIndex !== activeTabKey}
1013
- >
1014
- {tabContent}
1015
- </TabContent>
1016
- ))}
1017
- </CardBody>
1018
- </Card>
1019
- </>
1020
- );
1021
- };
1022
67
  ```
1023
68
 
1024
69
  ### Utilization card 1
1025
70
 
1026
- ```ts
1027
- import React from 'react';
1028
- import {
1029
- Card,
1030
- CardTitle,
1031
- CardBody,
1032
- CardFooter,
1033
- Title,
1034
- Gallery,
1035
- GalleryItem,
1036
- Flex,
1037
- FlexItem,
1038
- Stack,
1039
- StackItem,
1040
- Divider
1041
- } from '@patternfly/react-core';
1042
- import { ChartArea, ChartContainer, ChartGroup, ChartLabel, ChartVoronoiContainer } from '@patternfly/react-charts';
71
+ ```ts file="./examples/Card/CardUtilizationDemo1.tsx"
1043
72
 
1044
- <Gallery hasGutter minWidths={{ default: '360px' }}>
1045
- <GalleryItem>
1046
- <Card id="utilization-card-1-card" component="div">
1047
- <CardTitle>
1048
- <Title headingLevel="h4" size="lg">
1049
- Top Utilized Clusters
1050
- </Title>
1051
- </CardTitle>
1052
- <CardBody>
1053
- <Flex direction={{ default: 'column' }}>
1054
- <FlexItem>
1055
- <Stack>
1056
- <b>Cluster-1204</b>
1057
- <span>27.3 cores available</span>
1058
- </Stack>
1059
- </FlexItem>
1060
- <FlexItem>
1061
- <ChartGroup
1062
- ariaDesc="Mock average cluster utilization"
1063
- ariaTitle="Mock cluster sparkline chart"
1064
- containerComponent={
1065
- <ChartVoronoiContainer labels={({ datum }) => `${datum.name}: ${datum.y}`} constrainToVisibleArea />
1066
- }
1067
- height={100}
1068
- maxDomain={{ y: 9 }}
1069
- padding={0}
1070
- width={400}
1071
- >
1072
- <ChartArea
1073
- data={[
1074
- { name: 'Cluster', x: '2015', y: 7 },
1075
- { name: 'Cluster', x: '2016', y: 6 },
1076
- { name: 'Cluster', x: '2017', y: 8 },
1077
- { name: 'Cluster', x: '2018', y: 3 },
1078
- { name: 'Cluster', x: '2019', y: 4 },
1079
- { name: 'Cluster', x: '2020', y: 1 },
1080
- { name: 'Cluster', x: '2021', y: 0 }
1081
- ]}
1082
- />
1083
- </ChartGroup>
1084
- </FlexItem>
1085
- <FlexItem>
1086
- <a href="#">View details</a>
1087
- </FlexItem>
1088
- </Flex>
1089
- </CardBody>
1090
- <CardBody>
1091
- <Flex direction={{ default: 'column' }}>
1092
- <FlexItem>
1093
- <Stack>
1094
- <b>Abcdef-1204</b>
1095
- <span>50.6 cores available</span>
1096
- </Stack>
1097
- </FlexItem>
1098
- <FlexItem>
1099
- <ChartGroup
1100
- ariaDesc="Mock average cluster utilization"
1101
- ariaTitle="Mock cluster sparkline chart"
1102
- containerComponent={
1103
- <ChartVoronoiContainer labels={({ datum }) => `${datum.name}: ${datum.y}`} constrainToVisibleArea />
1104
- }
1105
- height={100}
1106
- maxDomain={{ y: 9 }}
1107
- padding={0}
1108
- width={400}
1109
- >
1110
- <ChartArea
1111
- data={[
1112
- { name: 'Cluster', x: '2015', y: 7 },
1113
- { name: 'Cluster', x: '2016', y: 6 },
1114
- { name: 'Cluster', x: '2017', y: 8 },
1115
- { name: 'Cluster', x: '2018', y: 3 },
1116
- { name: 'Cluster', x: '2019', y: 4 },
1117
- { name: 'Cluster', x: '2020', y: 1 },
1118
- { name: 'Cluster', x: '2021', y: 0 }
1119
- ]}
1120
- />
1121
- </ChartGroup>
1122
- </FlexItem>
1123
- <FlexItem>
1124
- <a href="#">View details</a>
1125
- </FlexItem>
1126
- </Flex>
1127
- </CardBody>
1128
- <Divider />
1129
- <CardFooter>
1130
- <a href="#">View all clusters</a>
1131
- </CardFooter>
1132
- </Card>
1133
- </GalleryItem>
1134
- </Gallery>;
1135
73
  ```
1136
74
 
1137
75
  ### Utilization card 2
1138
76
 
1139
- ```ts
1140
- import React from 'react';
1141
- import {
1142
- Card,
1143
- CardTitle,
1144
- CardBody,
1145
- CardFooter,
1146
- Title,
1147
- Gallery,
1148
- GalleryItem,
1149
- Flex,
1150
- FlexItem,
1151
- Stack,
1152
- StackItem,
1153
- Divider
1154
- } from '@patternfly/react-core';
1155
- import { ChartArea, ChartContainer, ChartGroup, ChartLabel, ChartVoronoiContainer } from '@patternfly/react-charts';
77
+ ```ts file="./examples/Card/CardUtilizationDemo2.tsx"
1156
78
 
1157
- <Gallery hasGutter minWidths={{ default: '360px' }}>
1158
- <GalleryItem>
1159
- <Card id="utilization-card-2-card" component="div">
1160
- <CardTitle>
1161
- <Title headingLevel="h4" size="lg">
1162
- Top Utilized Clusters
1163
- </Title>
1164
- </CardTitle>
1165
- <CardBody>
1166
- <Flex direction={{ default: 'column' }}>
1167
- <FlexItem>
1168
- <Stack>
1169
- <a href="#">Cluster-1204</a>
1170
- <span>27.3 cores available</span>
1171
- </Stack>
1172
- </FlexItem>
1173
- <FlexItem>
1174
- <ChartGroup
1175
- ariaDesc="Mock average cluster utilization"
1176
- ariaTitle="Mock cluster sparkline chart"
1177
- containerComponent={
1178
- <ChartVoronoiContainer labels={({ datum }) => `${datum.name}: ${datum.y}`} constrainToVisibleArea />
1179
- }
1180
- height={100}
1181
- maxDomain={{ y: 9 }}
1182
- padding={0}
1183
- width={400}
1184
- >
1185
- <ChartArea
1186
- data={[
1187
- { name: 'Cluster', x: '2015', y: 7 },
1188
- { name: 'Cluster', x: '2016', y: 6 },
1189
- { name: 'Cluster', x: '2017', y: 8 },
1190
- { name: 'Cluster', x: '2018', y: 3 },
1191
- { name: 'Cluster', x: '2019', y: 4 },
1192
- { name: 'Cluster', x: '2020', y: 1 },
1193
- { name: 'Cluster', x: '2021', y: 0 }
1194
- ]}
1195
- />
1196
- </ChartGroup>
1197
- </FlexItem>
1198
- </Flex>
1199
- </CardBody>
1200
- <CardBody>
1201
- <Flex direction={{ default: 'column' }}>
1202
- <FlexItem>
1203
- <Stack>
1204
- <a href="#">Abcdef-1204</a>
1205
- <span>50.6 cores available</span>
1206
- </Stack>
1207
- </FlexItem>
1208
- <FlexItem>
1209
- <ChartGroup
1210
- ariaDesc="Mock average cluster utilization"
1211
- ariaTitle="Mock cluster sparkline chart"
1212
- containerComponent={
1213
- <ChartVoronoiContainer labels={({ datum }) => `${datum.name}: ${datum.y}`} constrainToVisibleArea />
1214
- }
1215
- height={100}
1216
- maxDomain={{ y: 9 }}
1217
- padding={0}
1218
- width={400}
1219
- >
1220
- <ChartArea
1221
- data={[
1222
- { name: 'Cluster', x: '2015', y: 7 },
1223
- { name: 'Cluster', x: '2016', y: 6 },
1224
- { name: 'Cluster', x: '2017', y: 8 },
1225
- { name: 'Cluster', x: '2018', y: 3 },
1226
- { name: 'Cluster', x: '2019', y: 4 },
1227
- { name: 'Cluster', x: '2020', y: 1 },
1228
- { name: 'Cluster', x: '2021', y: 0 }
1229
- ]}
1230
- />
1231
- </ChartGroup>
1232
- </FlexItem>
1233
- </Flex>
1234
- </CardBody>
1235
- <Divider />
1236
- <CardFooter>
1237
- <a href="#">View all clusters</a>
1238
- </CardFooter>
1239
- </Card>
1240
- </GalleryItem>
1241
- </Gallery>;
1242
79
  ```
1243
80
 
1244
81
  ### Utilization card 3
1245
82
 
1246
- ```ts
1247
- import React from 'react';
1248
- import {
1249
- Card,
1250
- CardTitle,
1251
- CardHeader,
1252
- CardBody,
1253
- CardFooter,
1254
- Title,
1255
- Gallery,
1256
- GalleryItem,
1257
- Flex,
1258
- FlexItem,
1259
- Stack,
1260
- StackItem,
1261
- Divider,
1262
- Select,
1263
- SelectList,
1264
- SelectOption,
1265
- MenuToggle,
1266
- MenuToggleElement
1267
- } from '@patternfly/react-core';
1268
- import ExclamationCircleIcon from '@patternfly/react-icons/dist/esm/icons/exclamation-circle-icon';
1269
- import { Chart, ChartStack, ChartBar, ChartTooltip } from '@patternfly/react-charts';
1270
- import chart_color_gold_100 from '@patternfly/react-tokens/dist/esm/chart_color_gold_100';
1271
- import chart_color_gold_300 from '@patternfly/react-tokens/dist/esm/chart_color_gold_300';
1272
- import chart_color_orange_300 from '@patternfly/react-tokens/dist/esm/chart_color_orange_300';
1273
- import chart_color_red_100 from '@patternfly/react-tokens/dist/esm/chart_color_red_100';
1274
-
1275
- const UtilizationCard3: React.FunctionComponent = () => {
1276
- const [isOpen, setIsOpen] = React.useState(false);
1277
-
1278
- const selectItems = (
1279
- <SelectList>
1280
- <SelectOption key="option1" value="Last hour">
1281
- Last hour
1282
- </SelectOption>
1283
- <SelectOption key="option2" value="Last 6 hours">
1284
- Last 6 hours
1285
- </SelectOption>
1286
- <SelectOption key="option3" value="Last 24 hours">
1287
- Last 24 hours
1288
- </SelectOption>
1289
- <SelectOption key="option4" value="Last 7 days">
1290
- Last 7 days
1291
- </SelectOption>
1292
- </SelectList>
1293
- );
83
+ ```ts file="./examples/Card/CardUtilizationDemo3.tsx"
1294
84
 
1295
- const toggle = (toggleRef: React.Ref<MenuToggleElement>) => (
1296
- <MenuToggle ref={toggleRef} onClick={() => setIsOpen(!isOpen)} isExpanded={isOpen} variant="plainText">
1297
- Filter
1298
- </MenuToggle>
1299
- );
1300
-
1301
- const headerActions = (
1302
- <Select onSelect={() => setIsOpen(!isOpen)} onOpenChange={setIsOpen} isOpen={isOpen} toggle={toggle}>
1303
- {selectItems}
1304
- </Select>
1305
- );
1306
-
1307
- return (
1308
- <React.Fragment>
1309
- <b>Note:</b> Custom CSS is used in this demo to align the card title and select toggle text to{' '}
1310
- <code>baseline</code> alignment.
1311
- <br />
1312
- <br />
1313
- <Gallery hasGutter minWidths={{ default: '360px' }}>
1314
- <GalleryItem>
1315
- <Card id="utilization-card-3-card" component="div">
1316
- <CardHeader
1317
- className="pf-v5-u-align-items-flex-start"
1318
- actions={{ actions: headerActions, hasNoOffset: true }}
1319
- >
1320
- <CardTitle>
1321
- <Title headingLevel="h4" size="lg" style={{ paddingTop: '3px' }}>
1322
- Recommendations
1323
- </Title>
1324
- </CardTitle>
1325
- </CardHeader>
1326
- <CardBody>
1327
- <Flex direction={{ default: 'column' }}>
1328
- <FlexItem>
1329
- <span>System</span>
1330
- </FlexItem>
1331
- <Flex>
1332
- <ExclamationCircleIcon className="pf-v5-u-danger-color-100" aria-hidden />
1333
- <a href="#">25 incidents detected</a>
1334
- </Flex>
1335
- <FlexItem>
1336
- <Chart
1337
- ariaDesc="Mock incidents chart"
1338
- ariaTitle="Mock stack chart"
1339
- domainPadding={{ x: [30, 25] }}
1340
- legendData={[
1341
- { name: 'Low', symbol: { fill: chart_color_gold_100.value } },
1342
- { name: 'Important', symbol: { fill: chart_color_gold_300.value } },
1343
- { name: 'Moderate', symbol: { fill: chart_color_orange_300.value } },
1344
- { name: 'Critical', symbol: { fill: chart_color_red_100.value } }
1345
- ]}
1346
- legendPosition="bottom-left"
1347
- height={50}
1348
- padding={{
1349
- bottom: 40,
1350
- left: 0,
1351
- right: 0,
1352
- top: 0
1353
- }}
1354
- width={350}
1355
- showAxis={false}
1356
- >
1357
- <ChartStack
1358
- horizontal
1359
- colorScale={[
1360
- chart_color_gold_100.value,
1361
- chart_color_gold_300.value,
1362
- chart_color_orange_300.value,
1363
- chart_color_red_100.value
1364
- ]}
1365
- >
1366
- <ChartBar
1367
- data={[
1368
- {
1369
- name: 'Low',
1370
- x: 'Cluster A',
1371
- y: 6,
1372
- label: 'Low: 6'
1373
- }
1374
- ]}
1375
- labelComponent={<ChartTooltip constrainToVisibleArea />}
1376
- />
1377
- <ChartBar
1378
- data={[
1379
- {
1380
- name: 'Important',
1381
- x: 'Cluster A',
1382
- y: 2,
1383
- label: 'Important: 2'
1384
- }
1385
- ]}
1386
- labelComponent={<ChartTooltip constrainToVisibleArea />}
1387
- />
1388
- <ChartBar
1389
- data={[
1390
- {
1391
- name: 'Moderate',
1392
- x: 'Cluster A',
1393
- y: 4,
1394
- label: 'Moderate: 4'
1395
- }
1396
- ]}
1397
- labelComponent={<ChartTooltip constrainToVisibleArea />}
1398
- />
1399
- <ChartBar
1400
- data={[
1401
- {
1402
- name: 'Critical',
1403
- x: 'Cluster A',
1404
- y: 2,
1405
- label: 'Critical: 2'
1406
- }
1407
- ]}
1408
- labelComponent={<ChartTooltip constrainToVisibleArea />}
1409
- />
1410
- </ChartStack>
1411
- </Chart>
1412
- </FlexItem>
1413
- </Flex>
1414
- </CardBody>
1415
- <CardFooter>
1416
- <a href="#">See details</a>
1417
- </CardFooter>
1418
- </Card>
1419
- </GalleryItem>
1420
- </Gallery>
1421
- </React.Fragment>
1422
- );
1423
- };
1424
85
  ```
1425
86
 
1426
87
  ### Utilization card 4
1427
88
 
1428
- ```ts
1429
- import React from 'react';
1430
- import { Card, CardTitle, CardBody, CardFooter, Title, Gallery, GalleryItem } from '@patternfly/react-core';
1431
- import { ChartDonutThreshold, ChartDonutUtilization } from '@patternfly/react-charts';
89
+ ```ts file="./examples/Card/CardUtilizationDemo4.tsx"
1432
90
 
1433
- <Gallery hasGutter minWidths={{ default: '360px' }}>
1434
- <GalleryItem>
1435
- <Card id="utilization-card-4-card" component="div">
1436
- <CardTitle>
1437
- <Title headingLevel="h4" size="lg">
1438
- CPU Usage
1439
- </Title>
1440
- </CardTitle>
1441
- <CardBody>
1442
- <ChartDonutThreshold
1443
- ariaDesc="Mock storage capacity"
1444
- ariaTitle="Mock donut utilization chart"
1445
- constrainToVisibleArea={true}
1446
- data={[
1447
- { x: 'Warning at 60%', y: 60 },
1448
- { x: 'Danger at 90%', y: 90 }
1449
- ]}
1450
- height={200}
1451
- labels={({ datum }) => (datum.x ? datum.x : null)}
1452
- padding={{
1453
- bottom: 0,
1454
- left: 10,
1455
- right: 150,
1456
- top: 0
1457
- }}
1458
- width={350}
1459
- >
1460
- <ChartDonutUtilization
1461
- data={{ x: 'Storage capacity', y: 80 }}
1462
- labels={({ datum }) => (datum.x ? `${datum.x}: ${datum.y}%` : null)}
1463
- legendData={[{ name: `Capacity: 80%` }, { name: 'Warning at 60%' }, { name: 'Danger at 90%' }]}
1464
- legendOrientation="vertical"
1465
- title="80%"
1466
- subTitle="of 100 GBps"
1467
- thresholds={[{ value: 60 }, { value: 90 }]}
1468
- />
1469
- </ChartDonutThreshold>{' '}
1470
- </CardBody>
1471
- <CardFooter>
1472
- <a href="#">See details</a>
1473
- </CardFooter>
1474
- </Card>
1475
- </GalleryItem>
1476
- </Gallery>;
1477
91
  ```
1478
92
 
1479
93
  ### Nested cards
1480
94
 
1481
- ```js
1482
- import React from 'react';
1483
- import {
1484
- Card,
1485
- CardHeader,
1486
- CardTitle,
1487
- CardBody,
1488
- CardExpandableContent,
1489
- Checkbox,
1490
- Title,
1491
- Divider,
1492
- Grid,
1493
- GridItem,
1494
- Flex,
1495
- FlexItem
1496
- } from '@patternfly/react-core';
1497
- import { ChartArea, ChartGroup, ChartVoronoiContainer } from '@patternfly/react-charts';
1498
-
1499
- CardNestedDemo = () => {
1500
- const [isCardExpanded1, onCardExpand1] = React.useState(true);
1501
- const [isCardExpanded2, onCardExpand2] = React.useState(false);
1502
- const [isCardExpanded3, onCardExpand3] = React.useState(false);
1503
- const [isToggleOnRight, onCheckClick] = React.useState(false);
95
+ ```ts file="./examples/Card/CardNested.tsx"
1504
96
 
1505
- return (
1506
- <>
1507
- <div style={{ marginBottom: '12px' }}>
1508
- <Checkbox
1509
- id="isToggleRightAligned"
1510
- key="isToggleRightAligned"
1511
- label="Align expand toggle on right"
1512
- isChecked={isToggleOnRight}
1513
- onChange={(_event, checked) => onCheckClick(!isToggleOnRight)}
1514
- />
1515
- </div>
1516
- <Card id="nested-cards-card">
1517
- <CardHeader>
1518
- <CardTitle id="nested-cards-toggle-title">
1519
- <Title headingLevel="h4" size="lg">
1520
- {' '}
1521
- Hardware Monitor{' '}
1522
- </Title>
1523
- </CardTitle>
1524
- </CardHeader>
1525
- <Card id="nested-cards-toggle-group-1" isPlain isExpanded={isCardExpanded1}>
1526
- <CardHeader
1527
- onExpand={() => onCardExpand1(!isCardExpanded1)}
1528
- isToggleRightAligned={isToggleOnRight}
1529
- toggleButtonProps={{
1530
- id: 'toggle-button-1',
1531
- 'aria-label': 'Details',
1532
- 'aria-labelledby': 'nested-cards-toggle-group-1-title toggle-button-1',
1533
- 'aria-expanded': isCardExpanded1
1534
- }}
1535
- >
1536
- <CardTitle id="nested-cards-toggle-group-1-title">
1537
- <span className="pf-v5-u-font-weight-light">CPU 1</span>
1538
- </CardTitle>
1539
- </CardHeader>
1540
- <CardExpandableContent>
1541
- <CardBody>
1542
- <Grid hasGutter>
1543
- <Grid hasGutter>
1544
- <GridItem md={4}>
1545
- <Flex
1546
- className="pf-v5-u-h-100-on-md"
1547
- direction={{ md: 'column' }}
1548
- spaceItems={{ md: 'spaceItemsNone' }}
1549
- justifyContent={{ md: 'justifyContentCenter' }}
1550
- >
1551
- <FlexItem>
1552
- <b>Temperature</b>
1553
- </FlexItem>
1554
- <Divider
1555
- className="pf-v5-u-hidden-on-md"
1556
- orientation={{
1557
- default: 'vertical'
1558
- }}
1559
- inset={{ default: 'insetSm' }}
1560
- />
1561
- <FlexItem>
1562
- <span>64C</span>
1563
- </FlexItem>
1564
- </Flex>
1565
- </GridItem>
1566
- <GridItem md={8}>
1567
- <Grid hasGutter>
1568
- <GridItem span={2}>
1569
- <Flex
1570
- direction={{ default: 'column' }}
1571
- spaceItems={{ default: 'spaceItemsNone' }}
1572
- alignItems={{ md: 'alignItemsFlexEnd' }}
1573
- >
1574
- <FlexItem>100C</FlexItem>
1575
- <FlexItem>50C</FlexItem>
1576
- <FlexItem>0C</FlexItem>
1577
- </Flex>
1578
- </GridItem>
1579
- <GridItem span={10}>
1580
- <ChartGroup
1581
- ariaDesc="Mock CPU temperature"
1582
- ariaTitle="Mock CPU temperature sparkline chart"
1583
- containerComponent={
1584
- <ChartVoronoiContainer
1585
- labels={({ datum }) => `${datum.name}: ${datum.y}`}
1586
- constrainToVisibleArea
1587
- />
1588
- }
1589
- height={60}
1590
- maxDomain={{ y: 100 }}
1591
- padding={0}
1592
- width={400}
1593
- >
1594
- <ChartArea
1595
- data={[
1596
- { name: 'Temp', x: '1', y: 25 },
1597
- { name: 'Temp', x: '2', y: 40 },
1598
- { name: 'Temp', x: '3', y: 20 },
1599
- { name: 'Temp', x: '4', y: 60 },
1600
- { name: 'Temp', x: '5', y: 20 },
1601
- { name: 'Temp', x: '6', y: 41 },
1602
- { name: 'Temp', x: '7', y: 45 },
1603
- { name: 'Temp', x: '8', y: 41 },
1604
- { name: 'Temp', x: '9', y: 62 }
1605
- ]}
1606
- />
1607
- </ChartGroup>
1608
- </GridItem>
1609
- </Grid>
1610
- </GridItem>
1611
- </Grid>
1612
- <Divider className="pf-v5-u-hidden-on-md" />
1613
- <Grid hasGutter>
1614
- <GridItem md={4}>
1615
- <Flex
1616
- className="pf-v5-u-h-100-on-md"
1617
- direction={{ md: 'column' }}
1618
- spaceItems={{ md: 'spaceItemsNone' }}
1619
- justifyContent={{ md: 'justifyContentCenter' }}
1620
- >
1621
- <FlexItem>
1622
- <b>Speed</b>
1623
- </FlexItem>
1624
- <Divider
1625
- className="pf-v5-u-hidden-on-md"
1626
- orientation={{
1627
- default: 'vertical'
1628
- }}
1629
- inset={{ default: 'insetSm' }}
1630
- />
1631
- <FlexItem>
1632
- <span>2.3Ghz</span>
1633
- </FlexItem>
1634
- </Flex>
1635
- </GridItem>
1636
- <GridItem md={8}>
1637
- <Grid hasGutter>
1638
- <GridItem span={2}>
1639
- <Flex
1640
- direction={{ default: 'column' }}
1641
- spaceItems={{ default: 'spaceItemsNone' }}
1642
- alignItems={{ md: 'alignItemsFlexEnd' }}
1643
- >
1644
- <FlexItem>3.6Ghz</FlexItem>
1645
- <FlexItem>1.5Ghz</FlexItem>
1646
- <FlexItem>0GHZ</FlexItem>
1647
- </Flex>
1648
- </GridItem>
1649
- <GridItem span={10}>
1650
- <ChartGroup
1651
- ariaDesc="Mock CPU speed"
1652
- ariaTitle="Mock CPU speed sparkline chart"
1653
- containerComponent={
1654
- <ChartVoronoiContainer
1655
- labels={({ datum }) => `${datum.name}: ${datum.y}`}
1656
- constrainToVisibleArea
1657
- />
1658
- }
1659
- height={60}
1660
- maxDomain={{ y: 3.6 }}
1661
- padding={0}
1662
- width={400}
1663
- >
1664
- <ChartArea
1665
- data={[
1666
- { name: 'Temp', x: '1', y: 0.9 },
1667
- { name: 'Temp', x: '2', y: 1.44 },
1668
- { name: 'Temp', x: '3', y: 0.72 },
1669
- { name: 'Temp', x: '4', y: 2.16 },
1670
- { name: 'Temp', x: '5', y: 0.72 },
1671
- { name: 'Temp', x: '6', y: 1.48 },
1672
- { name: 'Temp', x: '7', y: 1.62 },
1673
- { name: 'Temp', x: '8', y: 1.48 },
1674
- { name: 'Temp', x: '9', y: 2.23 }
1675
- ]}
1676
- />
1677
- </ChartGroup>
1678
- </GridItem>
1679
- </Grid>
1680
- </GridItem>
1681
- </Grid>
1682
- </Grid>
1683
- </CardBody>
1684
- </CardExpandableContent>
1685
- </Card>
1686
- <Card id="nested-cards-toggle-group-2" isPlain isExpanded={isCardExpanded3}>
1687
- <CardHeader
1688
- onExpand={() => onCardExpand3(!isCardExpanded3)}
1689
- isToggleRightAligned={isToggleOnRight}
1690
- toggleButtonProps={{
1691
- id: 'toggle-button-2',
1692
- 'aria-label': 'Details',
1693
- 'aria-labelledby': 'nested-cards-toggle-group-2-title toggle-button-2',
1694
- 'aria-expanded': isCardExpanded3
1695
- }}
1696
- >
1697
- <CardTitle id="nested-cards-toggle-group-2-title">
1698
- <span className="pf-v5-u-font-weight-light">CPU 2</span>
1699
- </CardTitle>
1700
- </CardHeader>
1701
- <CardExpandableContent>
1702
- <CardBody>
1703
- <Grid hasGutter>
1704
- <Grid hasGutter>
1705
- <GridItem md={4}>
1706
- <Flex
1707
- className="pf-v5-u-h-100-on-md"
1708
- direction={{ md: 'column' }}
1709
- spaceItems={{ md: 'spaceItemsNone' }}
1710
- justifyContent={{ md: 'justifyContentCenter' }}
1711
- >
1712
- <FlexItem>
1713
- <b>Temperature</b>
1714
- </FlexItem>
1715
- <Divider
1716
- className="pf-v5-u-hidden-on-md"
1717
- orientation={{
1718
- default: 'vertical'
1719
- }}
1720
- inset={{ default: 'insetSm' }}
1721
- />
1722
- <FlexItem>
1723
- <span>64C</span>
1724
- </FlexItem>
1725
- </Flex>
1726
- </GridItem>
1727
- <GridItem md={8}>
1728
- <Grid hasGutter>
1729
- <GridItem span={2}>
1730
- <Flex
1731
- direction={{ default: 'column' }}
1732
- spaceItems={{ default: 'spaceItemsNone' }}
1733
- alignItems={{ md: 'alignItemsFlexEnd' }}
1734
- >
1735
- <FlexItem>100C</FlexItem>
1736
- <FlexItem>50C</FlexItem>
1737
- <FlexItem>0C</FlexItem>
1738
- </Flex>
1739
- </GridItem>
1740
- <GridItem span={10}>
1741
- <ChartGroup
1742
- ariaDesc="Mock CPU temperature"
1743
- ariaTitle="Mock CPU temperature sparkline chart"
1744
- containerComponent={
1745
- <ChartVoronoiContainer
1746
- labels={({ datum }) => `${datum.name}: ${datum.y}`}
1747
- constrainToVisibleArea
1748
- />
1749
- }
1750
- height={60}
1751
- maxDomain={{ y: 100 }}
1752
- padding={0}
1753
- width={400}
1754
- >
1755
- <ChartArea
1756
- data={[
1757
- { name: 'Temp', x: '1', y: 25 },
1758
- { name: 'Temp', x: '2', y: 40 },
1759
- { name: 'Temp', x: '3', y: 20 },
1760
- { name: 'Temp', x: '4', y: 60 },
1761
- { name: 'Temp', x: '5', y: 20 },
1762
- { name: 'Temp', x: '6', y: 41 },
1763
- { name: 'Temp', x: '7', y: 45 },
1764
- { name: 'Temp', x: '8', y: 41 },
1765
- { name: 'Temp', x: '9', y: 62 }
1766
- ]}
1767
- />
1768
- </ChartGroup>
1769
- </GridItem>
1770
- </Grid>
1771
- </GridItem>
1772
- </Grid>
1773
- <Divider className="pf-v5-u-hidden-on-md" />
1774
- <Grid hasGutter>
1775
- <GridItem md={4}>
1776
- <Flex
1777
- className="pf-v5-u-h-100-on-md"
1778
- direction={{ md: 'column' }}
1779
- spaceItems={{ md: 'spaceItemsNone' }}
1780
- justifyContent={{ md: 'justifyContentCenter' }}
1781
- >
1782
- <FlexItem>
1783
- <b>Speed</b>
1784
- </FlexItem>
1785
- <Divider
1786
- className="pf-v5-u-hidden-on-md"
1787
- orientation={{
1788
- default: 'vertical'
1789
- }}
1790
- inset={{ default: 'insetSm' }}
1791
- />
1792
- <FlexItem>
1793
- <span>2.3Ghz</span>
1794
- </FlexItem>
1795
- </Flex>
1796
- </GridItem>
1797
- <GridItem md={8}>
1798
- <Grid hasGutter>
1799
- <GridItem span={2}>
1800
- <Flex
1801
- direction={{ default: 'column' }}
1802
- spaceItems={{ default: 'spaceItemsNone' }}
1803
- alignItems={{ md: 'alignItemsFlexEnd' }}
1804
- >
1805
- <FlexItem>3.6Ghz</FlexItem>
1806
- <FlexItem>1.5Ghz</FlexItem>
1807
- <FlexItem>0GHZ</FlexItem>
1808
- </Flex>
1809
- </GridItem>
1810
- <GridItem span={10}>
1811
- <ChartGroup
1812
- ariaDesc="Mock CPU speed"
1813
- ariaTitle="Mock CPU speed sparkline chart"
1814
- containerComponent={
1815
- <ChartVoronoiContainer
1816
- labels={({ datum }) => `${datum.name}: ${datum.y}`}
1817
- constrainToVisibleArea
1818
- />
1819
- }
1820
- height={60}
1821
- maxDomain={{ y: 3.6 }}
1822
- padding={0}
1823
- width={400}
1824
- >
1825
- <ChartArea
1826
- data={[
1827
- { name: 'Temp', x: '1', y: 0.9 },
1828
- { name: 'Temp', x: '2', y: 1.44 },
1829
- { name: 'Temp', x: '3', y: 0.72 },
1830
- { name: 'Temp', x: '4', y: 2.16 },
1831
- { name: 'Temp', x: '5', y: 0.72 },
1832
- { name: 'Temp', x: '6', y: 1.48 },
1833
- { name: 'Temp', x: '7', y: 1.62 },
1834
- { name: 'Temp', x: '8', y: 1.48 },
1835
- { name: 'Temp', x: '9', y: 2.23 }
1836
- ]}
1837
- />
1838
- </ChartGroup>
1839
- </GridItem>
1840
- </Grid>
1841
- </GridItem>
1842
- </Grid>
1843
- </Grid>
1844
- </CardBody>
1845
- </CardExpandableContent>
1846
- </Card>
1847
- <Card id="nested-cards-toggle-group-3" isPlain isExpanded={isCardExpanded2}>
1848
- <CardHeader
1849
- onExpand={() => onCardExpand2(!isCardExpanded2)}
1850
- isToggleRightAligned={isToggleOnRight}
1851
- toggleButtonProps={{
1852
- id: 'toggle-button-3',
1853
- 'aria-label': 'Details',
1854
- 'aria-labelledby': 'nested-cards-toggle-group-3-title toggle-button-3',
1855
- 'aria-expanded': isCardExpanded2
1856
- }}
1857
- >
1858
- <CardTitle id="nested-cards-toggle-group-3-title">
1859
- <span className="pf-v5-u-font-weight-light">CPU 3</span>
1860
- </CardTitle>
1861
- </CardHeader>
1862
- <CardExpandableContent>
1863
- <CardBody>
1864
- <Grid hasGutter>
1865
- <Grid hasGutter>
1866
- <GridItem md={4}>
1867
- <Flex
1868
- className="pf-v5-u-h-100-on-md"
1869
- direction={{ md: 'column' }}
1870
- spaceItems={{ md: 'spaceItemsNone' }}
1871
- justifyContent={{ md: 'justifyContentCenter' }}
1872
- >
1873
- <FlexItem>
1874
- <b>Temperature</b>
1875
- </FlexItem>
1876
- <Divider
1877
- className="pf-v5-u-hidden-on-md"
1878
- orientation={{
1879
- default: 'vertical'
1880
- }}
1881
- inset={{ default: 'insetSm' }}
1882
- />
1883
- <FlexItem>
1884
- <span>64C</span>
1885
- </FlexItem>
1886
- </Flex>
1887
- </GridItem>
1888
- <GridItem md={8}>
1889
- <Grid hasGutter>
1890
- <GridItem span={2}>
1891
- <Flex
1892
- direction={{ default: 'column' }}
1893
- spaceItems={{ default: 'spaceItemsNone' }}
1894
- alignItems={{ md: 'alignItemsFlexEnd' }}
1895
- >
1896
- <FlexItem>100C</FlexItem>
1897
- <FlexItem>50C</FlexItem>
1898
- <FlexItem>0C</FlexItem>
1899
- </Flex>
1900
- </GridItem>
1901
- <GridItem span={10}>
1902
- <ChartGroup
1903
- ariaDesc="Mock CPU temperature"
1904
- ariaTitle="Mock CPU temperature sparkline chart"
1905
- containerComponent={
1906
- <ChartVoronoiContainer
1907
- labels={({ datum }) => `${datum.name}: ${datum.y}`}
1908
- constrainToVisibleArea
1909
- />
1910
- }
1911
- height={60}
1912
- maxDomain={{ y: 100 }}
1913
- padding={0}
1914
- width={400}
1915
- >
1916
- <ChartArea
1917
- data={[
1918
- { name: 'Temp', x: '1', y: 25 },
1919
- { name: 'Temp', x: '2', y: 40 },
1920
- { name: 'Temp', x: '3', y: 20 },
1921
- { name: 'Temp', x: '4', y: 60 },
1922
- { name: 'Temp', x: '5', y: 20 },
1923
- { name: 'Temp', x: '6', y: 41 },
1924
- { name: 'Temp', x: '7', y: 45 },
1925
- { name: 'Temp', x: '8', y: 41 },
1926
- { name: 'Temp', x: '9', y: 62 }
1927
- ]}
1928
- />
1929
- </ChartGroup>
1930
- </GridItem>
1931
- </Grid>
1932
- </GridItem>
1933
- </Grid>
1934
- <Divider className="pf-v5-u-hidden-on-md" />
1935
- <Grid hasGutter>
1936
- <GridItem md={4}>
1937
- <Flex
1938
- className="pf-v5-u-h-100-on-md"
1939
- direction={{ md: 'column' }}
1940
- spaceItems={{ md: 'spaceItemsNone' }}
1941
- justifyContent={{ md: 'justifyContentCenter' }}
1942
- >
1943
- <FlexItem>
1944
- <b>Speed</b>
1945
- </FlexItem>
1946
- <Divider
1947
- className="pf-v5-u-hidden-on-md"
1948
- orientation={{
1949
- default: 'vertical'
1950
- }}
1951
- inset={{ default: 'insetSm' }}
1952
- />
1953
- <FlexItem>
1954
- <span>2.3Ghz</span>
1955
- </FlexItem>
1956
- </Flex>
1957
- </GridItem>
1958
- <GridItem md={8}>
1959
- <Grid hasGutter>
1960
- <GridItem span={2}>
1961
- <Flex
1962
- direction={{ default: 'column' }}
1963
- spaceItems={{ default: 'spaceItemsNone' }}
1964
- alignItems={{ md: 'alignItemsFlexEnd' }}
1965
- >
1966
- <FlexItem>3.6Ghz</FlexItem>
1967
- <FlexItem>1.5Ghz</FlexItem>
1968
- <FlexItem>0GHZ</FlexItem>
1969
- </Flex>
1970
- </GridItem>
1971
- <GridItem span={10}>
1972
- <ChartGroup
1973
- ariaDesc="Mock CPU speed"
1974
- ariaTitle="Mock CPU speed sparkline chart"
1975
- containerComponent={
1976
- <ChartVoronoiContainer
1977
- labels={({ datum }) => `${datum.name}: ${datum.y}`}
1978
- constrainToVisibleArea
1979
- />
1980
- }
1981
- height={60}
1982
- maxDomain={{ y: 3.6 }}
1983
- padding={0}
1984
- width={400}
1985
- >
1986
- <ChartArea
1987
- data={[
1988
- { name: 'Temp', x: '1', y: 0.9 },
1989
- { name: 'Temp', x: '2', y: 1.44 },
1990
- { name: 'Temp', x: '3', y: 0.72 },
1991
- { name: 'Temp', x: '4', y: 2.16 },
1992
- { name: 'Temp', x: '5', y: 0.72 },
1993
- { name: 'Temp', x: '6', y: 1.48 },
1994
- { name: 'Temp', x: '7', y: 1.62 },
1995
- { name: 'Temp', x: '8', y: 1.48 },
1996
- { name: 'Temp', x: '9', y: 2.23 }
1997
- ]}
1998
- />
1999
- </ChartGroup>
2000
- </GridItem>
2001
- </Grid>
2002
- </GridItem>
2003
- </Grid>
2004
- </Grid>
2005
- </CardBody>
2006
- </CardExpandableContent>
2007
- </Card>
2008
- </Card>
2009
- </>
2010
- );
2011
- };
2012
97
  ```
2013
98
 
2014
99
  ### With accordion
2015
100
 
2016
- ```ts
2017
- import React from 'react';
2018
- import {
2019
- Card,
2020
- CardTitle,
2021
- CardBody,
2022
- CardHeader,
2023
- Title,
2024
- Accordion,
2025
- AccordionItem,
2026
- AccordionToggle,
2027
- AccordionContent,
2028
- Divider,
2029
- Grid,
2030
- GridItem,
2031
- Flex,
2032
- FlexItem
2033
- } from '@patternfly/react-core';
2034
- import { ChartArea, ChartContainer, ChartGroup, ChartLabel, ChartVoronoiContainer } from '@patternfly/react-charts';
101
+ ```ts file="./examples/Card/CardWithAccordion.tsx"
2035
102
 
2036
- const AccordionCard: React.FunctionComponent = () => {
2037
- const [openCPU, setOpenCPU] = React.useState('cpu1');
2038
-
2039
- return (
2040
- <Card>
2041
- <CardHeader>
2042
- <CardTitle>
2043
- <Title headingLevel="h4" size="lg">
2044
- Hardware Monitor
2045
- </Title>
2046
- </CardTitle>
2047
- </CardHeader>
2048
- <CardBody>
2049
- <Accordion>
2050
- <AccordionItem>
2051
- <AccordionToggle
2052
- id="cpu1-toggle"
2053
- onClick={() => {
2054
- if (openCPU === 'cpu1') {
2055
- setOpenCPU(null);
2056
- } else {
2057
- setOpenCPU('cpu1');
2058
- }
2059
- }}
2060
- isExpanded={openCPU === 'cpu1'}
2061
- >
2062
- CPU 1
2063
- </AccordionToggle>
2064
- <AccordionContent isHidden={openCPU !== 'cpu1'}>
2065
- <Grid hasGutter>
2066
- <Grid hasGutter>
2067
- <GridItem md={4}>
2068
- <Flex
2069
- className="pf-v5-u-h-100-on-md"
2070
- direction={{ md: 'column' }}
2071
- spaceItems={{ md: 'spaceItemsNone' }}
2072
- justifyContent={{ md: 'justifyContentCenter' }}
2073
- >
2074
- <FlexItem>
2075
- <b>Temperature</b>
2076
- </FlexItem>
2077
- <Divider
2078
- className="pf-v5-u-hidden-on-md"
2079
- orientation={{
2080
- default: 'vertical'
2081
- }}
2082
- inset={{ default: 'insetSm' }}
2083
- />
2084
- <FlexItem>
2085
- <span>64C</span>
2086
- </FlexItem>
2087
- </Flex>
2088
- </GridItem>
2089
- <GridItem md={8}>
2090
- <Grid hasGutter>
2091
- <GridItem span={2}>
2092
- <Flex
2093
- direction={{ default: 'column' }}
2094
- spaceItems={{ default: 'spaceItemsNone' }}
2095
- alignItems={{ md: 'alignItemsFlexEnd' }}
2096
- >
2097
- <FlexItem>100C</FlexItem>
2098
- <FlexItem>50C</FlexItem>
2099
- <FlexItem>0C</FlexItem>
2100
- </Flex>
2101
- </GridItem>
2102
- <GridItem span={10}>
2103
- <ChartGroup
2104
- ariaDesc="Mock CPU temperature"
2105
- ariaTitle="Mock CPU temperature sparkline chart"
2106
- containerComponent={
2107
- <ChartVoronoiContainer
2108
- labels={({ datum }) => `${datum.name}: ${datum.y}`}
2109
- constrainToVisibleArea
2110
- />
2111
- }
2112
- height={60}
2113
- maxDomain={{ y: 100 }}
2114
- padding={0}
2115
- width={400}
2116
- >
2117
- <ChartArea
2118
- data={[
2119
- { name: 'Temp', x: '1', y: 25 },
2120
- { name: 'Temp', x: '2', y: 40 },
2121
- { name: 'Temp', x: '3', y: 20 },
2122
- { name: 'Temp', x: '4', y: 60 },
2123
- { name: 'Temp', x: '5', y: 20 },
2124
- { name: 'Temp', x: '6', y: 41 },
2125
- { name: 'Temp', x: '7', y: 45 },
2126
- { name: 'Temp', x: '8', y: 41 },
2127
- { name: 'Temp', x: '9', y: 62 }
2128
- ]}
2129
- />
2130
- </ChartGroup>
2131
- </GridItem>
2132
- </Grid>
2133
- </GridItem>
2134
- </Grid>
2135
- <Divider className="pf-v5-u-hidden-on-md" />
2136
- <Grid hasGutter>
2137
- <GridItem md={4}>
2138
- <Flex
2139
- className="pf-v5-u-h-100-on-md"
2140
- direction={{ md: 'column' }}
2141
- spaceItems={{ md: 'spaceItemsNone' }}
2142
- justifyContent={{ md: 'justifyContentCenter' }}
2143
- >
2144
- <FlexItem>
2145
- <b>Speed</b>
2146
- </FlexItem>
2147
- <Divider
2148
- className="pf-v5-u-hidden-on-md"
2149
- orientation={{
2150
- default: 'vertical'
2151
- }}
2152
- inset={{ default: 'insetSm' }}
2153
- />
2154
- <FlexItem>
2155
- <span>2.3Ghz</span>
2156
- </FlexItem>
2157
- </Flex>
2158
- </GridItem>
2159
- <GridItem md={8}>
2160
- <Grid hasGutter>
2161
- <GridItem span={2}>
2162
- <Flex
2163
- direction={{ default: 'column' }}
2164
- spaceItems={{ default: 'spaceItemsNone' }}
2165
- alignItems={{ md: 'alignItemsFlexEnd' }}
2166
- >
2167
- <FlexItem>3.6Ghz</FlexItem>
2168
- <FlexItem>1.5Ghz</FlexItem>
2169
- <FlexItem>0GHZ</FlexItem>
2170
- </Flex>
2171
- </GridItem>
2172
- <GridItem span={10}>
2173
- <ChartGroup
2174
- ariaDesc="Mock CPU speed"
2175
- ariaTitle="Mock CPU speed sparkline chart"
2176
- containerComponent={
2177
- <ChartVoronoiContainer
2178
- labels={({ datum }) => `${datum.name}: ${datum.y}`}
2179
- constrainToVisibleArea
2180
- />
2181
- }
2182
- height={60}
2183
- maxDomain={{ y: 3.6 }}
2184
- padding={0}
2185
- width={400}
2186
- >
2187
- <ChartArea
2188
- data={[
2189
- { name: 'Temp', x: '1', y: 0.9 },
2190
- { name: 'Temp', x: '2', y: 1.44 },
2191
- { name: 'Temp', x: '3', y: 0.72 },
2192
- { name: 'Temp', x: '4', y: 2.16 },
2193
- { name: 'Temp', x: '5', y: 0.72 },
2194
- { name: 'Temp', x: '6', y: 1.48 },
2195
- { name: 'Temp', x: '7', y: 1.62 },
2196
- { name: 'Temp', x: '8', y: 1.48 },
2197
- { name: 'Temp', x: '9', y: 2.23 }
2198
- ]}
2199
- />
2200
- </ChartGroup>
2201
- </GridItem>
2202
- </Grid>
2203
- </GridItem>
2204
- </Grid>
2205
- </Grid>
2206
- </AccordionContent>
2207
- </AccordionItem>
2208
- <AccordionItem>
2209
- <AccordionToggle
2210
- id="cpu2-toggle"
2211
- onClick={() => {
2212
- if (openCPU === 'cpu2') {
2213
- setOpenCPU(null);
2214
- } else {
2215
- setOpenCPU('cpu2');
2216
- }
2217
- }}
2218
- isExpanded={openCPU === 'cpu2'}
2219
- >
2220
- CPU 2
2221
- </AccordionToggle>
2222
- <AccordionContent isHidden={openCPU !== 'cpu2'}>
2223
- <Grid hasGutter>
2224
- <Grid hasGutter>
2225
- <GridItem md={4}>
2226
- <Flex
2227
- className="pf-v5-u-h-100-on-md"
2228
- direction={{ md: 'column' }}
2229
- spaceItems={{ md: 'spaceItemsNone' }}
2230
- justifyContent={{ md: 'justifyContentCenter' }}
2231
- >
2232
- <FlexItem>
2233
- <b>Temperature</b>
2234
- </FlexItem>
2235
- <Divider
2236
- className="pf-v5-u-hidden-on-md"
2237
- orientation={{
2238
- default: 'vertical'
2239
- }}
2240
- inset={{ default: 'insetSm' }}
2241
- />
2242
- <FlexItem>
2243
- <span>64C</span>
2244
- </FlexItem>
2245
- </Flex>
2246
- </GridItem>
2247
- <GridItem md={8}>
2248
- <Grid hasGutter>
2249
- <GridItem span={2}>
2250
- <Flex
2251
- direction={{ default: 'column' }}
2252
- spaceItems={{ default: 'spaceItemsNone' }}
2253
- alignItems={{ md: 'alignItemsFlexEnd' }}
2254
- >
2255
- <FlexItem>100C</FlexItem>
2256
- <FlexItem>50C</FlexItem>
2257
- <FlexItem>0C</FlexItem>
2258
- </Flex>
2259
- </GridItem>
2260
- <GridItem span={10}>
2261
- <ChartGroup
2262
- ariaDesc="Mock CPU temperature"
2263
- ariaTitle="Mock CPU temperature sparkline chart"
2264
- containerComponent={
2265
- <ChartVoronoiContainer
2266
- labels={({ datum }) => `${datum.name}: ${datum.y}`}
2267
- constrainToVisibleArea
2268
- />
2269
- }
2270
- height={60}
2271
- maxDomain={{ y: 100 }}
2272
- padding={0}
2273
- width={400}
2274
- >
2275
- <ChartArea
2276
- data={[
2277
- { name: 'Temp', x: '1', y: 25 },
2278
- { name: 'Temp', x: '2', y: 40 },
2279
- { name: 'Temp', x: '3', y: 20 },
2280
- { name: 'Temp', x: '4', y: 60 },
2281
- { name: 'Temp', x: '5', y: 20 },
2282
- { name: 'Temp', x: '6', y: 41 },
2283
- { name: 'Temp', x: '7', y: 45 },
2284
- { name: 'Temp', x: '8', y: 41 },
2285
- { name: 'Temp', x: '9', y: 62 }
2286
- ]}
2287
- />
2288
- </ChartGroup>
2289
- </GridItem>
2290
- </Grid>
2291
- </GridItem>
2292
- </Grid>
2293
- <Divider className="pf-v5-u-hidden-on-md" />
2294
- <Grid hasGutter>
2295
- <GridItem md={4}>
2296
- <Flex
2297
- className="pf-v5-u-h-100-on-md"
2298
- direction={{ md: 'column' }}
2299
- spaceItems={{ md: 'spaceItemsNone' }}
2300
- justifyContent={{ md: 'justifyContentCenter' }}
2301
- >
2302
- <FlexItem>
2303
- <b>Speed</b>
2304
- </FlexItem>
2305
- <Divider
2306
- className="pf-v5-u-hidden-on-md"
2307
- orientation={{
2308
- default: 'vertical'
2309
- }}
2310
- inset={{ default: 'insetSm' }}
2311
- />
2312
- <FlexItem>
2313
- <span>2.3Ghz</span>
2314
- </FlexItem>
2315
- </Flex>
2316
- </GridItem>
2317
- <GridItem md={8}>
2318
- <Grid hasGutter>
2319
- <GridItem span={2}>
2320
- <Flex
2321
- direction={{ default: 'column' }}
2322
- spaceItems={{ default: 'spaceItemsNone' }}
2323
- alignItems={{ md: 'alignItemsFlexEnd' }}
2324
- >
2325
- <FlexItem>3.6Ghz</FlexItem>
2326
- <FlexItem>1.5Ghz</FlexItem>
2327
- <FlexItem>0GHZ</FlexItem>
2328
- </Flex>
2329
- </GridItem>
2330
- <GridItem span={10}>
2331
- <ChartGroup
2332
- ariaDesc="Mock CPU speed"
2333
- ariaTitle="Mock CPU speed sparkline chart"
2334
- containerComponent={
2335
- <ChartVoronoiContainer
2336
- labels={({ datum }) => `${datum.name}: ${datum.y}`}
2337
- constrainToVisibleArea
2338
- />
2339
- }
2340
- height={60}
2341
- maxDomain={{ y: 3.6 }}
2342
- padding={0}
2343
- width={400}
2344
- >
2345
- <ChartArea
2346
- data={[
2347
- { name: 'Temp', x: '1', y: 0.9 },
2348
- { name: 'Temp', x: '2', y: 1.44 },
2349
- { name: 'Temp', x: '3', y: 0.72 },
2350
- { name: 'Temp', x: '4', y: 2.16 },
2351
- { name: 'Temp', x: '5', y: 0.72 },
2352
- { name: 'Temp', x: '6', y: 1.48 },
2353
- { name: 'Temp', x: '7', y: 1.62 },
2354
- { name: 'Temp', x: '8', y: 1.48 },
2355
- { name: 'Temp', x: '9', y: 2.23 }
2356
- ]}
2357
- />
2358
- </ChartGroup>
2359
- </GridItem>
2360
- </Grid>
2361
- </GridItem>
2362
- </Grid>
2363
- </Grid>
2364
- </AccordionContent>
2365
- </AccordionItem>
2366
- <AccordionItem>
2367
- <AccordionToggle
2368
- id="cpu3-toggle"
2369
- onClick={() => {
2370
- if (openCPU === 'cpu3') {
2371
- setOpenCPU(null);
2372
- } else {
2373
- setOpenCPU('cpu3');
2374
- }
2375
- }}
2376
- isExpanded={openCPU === 'cpu3'}
2377
- >
2378
- CPU 3
2379
- </AccordionToggle>
2380
- <AccordionContent isHidden={openCPU !== 'cpu3'}>
2381
- <Grid hasGutter>
2382
- <Grid hasGutter>
2383
- <GridItem md={4}>
2384
- <Flex
2385
- className="pf-v5-u-h-100-on-md"
2386
- direction={{ md: 'column' }}
2387
- spaceItems={{ md: 'spaceItemsNone' }}
2388
- justifyContent={{ md: 'justifyContentCenter' }}
2389
- >
2390
- <FlexItem>
2391
- <b>Temperature</b>
2392
- </FlexItem>
2393
- <Divider
2394
- className="pf-v5-u-hidden-on-md"
2395
- orientation={{
2396
- default: 'vertical'
2397
- }}
2398
- inset={{ default: 'insetSm' }}
2399
- />
2400
- <FlexItem>
2401
- <span>64C</span>
2402
- </FlexItem>
2403
- </Flex>
2404
- </GridItem>
2405
- <GridItem md={8}>
2406
- <Grid hasGutter>
2407
- <GridItem span={2}>
2408
- <Flex
2409
- direction={{ default: 'column' }}
2410
- spaceItems={{ default: 'spaceItemsNone' }}
2411
- alignItems={{ md: 'alignItemsFlexEnd' }}
2412
- >
2413
- <FlexItem>100C</FlexItem>
2414
- <FlexItem>50C</FlexItem>
2415
- <FlexItem>0C</FlexItem>
2416
- </Flex>
2417
- </GridItem>
2418
- <GridItem span={10}>
2419
- <ChartGroup
2420
- ariaDesc="Mock CPU temperature"
2421
- ariaTitle="Mock CPU temperature sparkline chart"
2422
- containerComponent={
2423
- <ChartVoronoiContainer
2424
- labels={({ datum }) => `${datum.name}: ${datum.y}`}
2425
- constrainToVisibleArea
2426
- />
2427
- }
2428
- height={60}
2429
- maxDomain={{ y: 100 }}
2430
- padding={0}
2431
- width={400}
2432
- >
2433
- <ChartArea
2434
- data={[
2435
- { name: 'Temp', x: '1', y: 25 },
2436
- { name: 'Temp', x: '2', y: 40 },
2437
- { name: 'Temp', x: '3', y: 20 },
2438
- { name: 'Temp', x: '4', y: 60 },
2439
- { name: 'Temp', x: '5', y: 20 },
2440
- { name: 'Temp', x: '6', y: 41 },
2441
- { name: 'Temp', x: '7', y: 45 },
2442
- { name: 'Temp', x: '8', y: 41 },
2443
- { name: 'Temp', x: '9', y: 62 }
2444
- ]}
2445
- />
2446
- </ChartGroup>
2447
- </GridItem>
2448
- </Grid>
2449
- </GridItem>
2450
- </Grid>
2451
- <Divider className="pf-v5-u-hidden-on-md" />
2452
- <Grid hasGutter>
2453
- <GridItem md={4}>
2454
- <Flex
2455
- className="pf-v5-u-h-100-on-md"
2456
- direction={{ md: 'column' }}
2457
- spaceItems={{ md: 'spaceItemsNone' }}
2458
- justifyContent={{ md: 'justifyContentCenter' }}
2459
- >
2460
- <FlexItem>
2461
- <b>Speed</b>
2462
- </FlexItem>
2463
- <Divider
2464
- className="pf-v5-u-hidden-on-md"
2465
- orientation={{
2466
- default: 'vertical'
2467
- }}
2468
- inset={{ default: 'insetSm' }}
2469
- />
2470
- <FlexItem>
2471
- <span>2.3Ghz</span>
2472
- </FlexItem>
2473
- </Flex>
2474
- </GridItem>
2475
- <GridItem md={8}>
2476
- <Grid hasGutter>
2477
- <GridItem span={2}>
2478
- <Flex
2479
- direction={{ default: 'column' }}
2480
- spaceItems={{ default: 'spaceItemsNone' }}
2481
- alignItems={{ md: 'alignItemsFlexEnd' }}
2482
- >
2483
- <FlexItem>3.6Ghz</FlexItem>
2484
- <FlexItem>1.5Ghz</FlexItem>
2485
- <FlexItem>0GHZ</FlexItem>
2486
- </Flex>
2487
- </GridItem>
2488
- <GridItem span={10}>
2489
- <ChartGroup
2490
- ariaDesc="Mock CPU speed"
2491
- ariaTitle="Mock CPU speed sparkline chart"
2492
- containerComponent={
2493
- <ChartVoronoiContainer
2494
- labels={({ datum }) => `${datum.name}: ${datum.y}`}
2495
- constrainToVisibleArea
2496
- />
2497
- }
2498
- height={60}
2499
- maxDomain={{ y: 3.6 }}
2500
- padding={0}
2501
- width={400}
2502
- >
2503
- <ChartArea
2504
- data={[
2505
- { name: 'Temp', x: '1', y: 0.9 },
2506
- { name: 'Temp', x: '2', y: 1.44 },
2507
- { name: 'Temp', x: '3', y: 0.72 },
2508
- { name: 'Temp', x: '4', y: 2.16 },
2509
- { name: 'Temp', x: '5', y: 0.72 },
2510
- { name: 'Temp', x: '6', y: 1.48 },
2511
- { name: 'Temp', x: '7', y: 1.62 },
2512
- { name: 'Temp', x: '8', y: 1.48 },
2513
- { name: 'Temp', x: '9', y: 2.23 }
2514
- ]}
2515
- />
2516
- </ChartGroup>
2517
- </GridItem>
2518
- </Grid>
2519
- </GridItem>
2520
- </Grid>
2521
- </Grid>
2522
- </AccordionContent>
2523
- </AccordionItem>
2524
- </Accordion>
2525
- </CardBody>
2526
- </Card>
2527
- );
2528
- };
2529
103
  ```
2530
104
 
2531
105
  ### Trend card 1
2532
106
 
2533
- ```ts
2534
- import React from 'react';
2535
- import {
2536
- Card,
2537
- CardTitle,
2538
- CardBody,
2539
- CardHeader,
2540
- Title,
2541
- Gallery,
2542
- GalleryItem,
2543
- Flex,
2544
- FlexItem,
2545
- Divider,
2546
- Select,
2547
- SelectList,
2548
- SelectOption,
2549
- MenuToggle,
2550
- MenuToggleElement
2551
- } from '@patternfly/react-core';
2552
- import { ChartArea, ChartContainer, ChartGroup, ChartLabel, ChartVoronoiContainer } from '@patternfly/react-charts';
2553
-
2554
- const TrendCard1: React.FunctionComponent = () => {
2555
- const [isOpen, setIsOpen] = React.useState(false);
2556
-
2557
- const selectItems = (
2558
- <SelectList>
2559
- <SelectOption key="option1" value="Last hour">
2560
- Last hour
2561
- </SelectOption>
2562
- <SelectOption key="option2" value="Last 6 hours">
2563
- Last 6 hours
2564
- </SelectOption>
2565
- <SelectOption key="option3" value="Last 24 hours">
2566
- Last 24 hours
2567
- </SelectOption>
2568
- <SelectOption key="option4" value="Last 7 days">
2569
- Last 7 days
2570
- </SelectOption>
2571
- </SelectList>
2572
- );
2573
-
2574
- const toggle = (toggleRef: React.Ref<MenuToggleElement>) => (
2575
- <MenuToggle ref={toggleRef} onClick={() => setIsOpen(!isOpen)} isExpanded={isOpen} variant="plainText">
2576
- Filter
2577
- </MenuToggle>
2578
- );
2579
-
2580
- const headerActions = (
2581
- <Select onSelect={() => setIsOpen(!isOpen)} onOpenChange={setIsOpen} isOpen={isOpen} toggle={toggle}>
2582
- {selectItems}
2583
- </Select>
2584
- );
107
+ ```ts file="./examples/Card/CardTrendDemo1.tsx"
2585
108
 
2586
- return (
2587
- <React.Fragment>
2588
- <b>Note:</b> Custom CSS is used in this demo to align the card title and select toggle text to{' '}
2589
- <code>baseline</code> alignment.
2590
- <br />
2591
- <br />
2592
- <Gallery hasGutter minWidths={{ default: '360px' }}>
2593
- <GalleryItem>
2594
- <Card id="trend-card-1-card" component="div">
2595
- <CardHeader actions={{ actions: headerActions, hasNoOffset: true }}>
2596
- <Flex direction={{ default: 'column' }} spaceItems={{ default: 'spaceItemsNone' }}>
2597
- <FlexItem>
2598
- <CardTitle>
2599
- <Title headingLevel="h4" size="lg">
2600
- 1,050,765 IOPS
2601
- </Title>
2602
- </CardTitle>
2603
- </FlexItem>
2604
- <FlexItem>
2605
- <span className="pf-v5-u-color-200">Workload</span>
2606
- </FlexItem>
2607
- </Flex>
2608
- </CardHeader>
2609
- <CardBody>
2610
- <ChartGroup
2611
- ariaDesc="Mock average cluster utilization"
2612
- ariaTitle="Mock cluster sparkline chart"
2613
- containerComponent={
2614
- <ChartVoronoiContainer labels={({ datum }) => `${datum.name}: ${datum.y}`} constrainToVisibleArea />
2615
- }
2616
- height={100}
2617
- maxDomain={{ y: 9 }}
2618
- padding={0}
2619
- width={400}
2620
- >
2621
- <ChartArea
2622
- data={[
2623
- { name: 'Cluster', x: '2015', y: 7 },
2624
- { name: 'Cluster', x: '2016', y: 6 },
2625
- { name: 'Cluster', x: '2017', y: 8 },
2626
- { name: 'Cluster', x: '2018', y: 3 },
2627
- { name: 'Cluster', x: '2019', y: 4 },
2628
- { name: 'Cluster', x: '2020', y: 1 },
2629
- { name: 'Cluster', x: '2021', y: 0 }
2630
- ]}
2631
- />
2632
- </ChartGroup>
2633
- </CardBody>
2634
- </Card>
2635
- </GalleryItem>
2636
- </Gallery>
2637
- </React.Fragment>
2638
- );
2639
- };
2640
109
  ```
2641
110
 
2642
111
  ### Trend card 2
2643
112
 
2644
- ```ts
2645
- import React from 'react';
2646
- import {
2647
- Card,
2648
- CardTitle,
2649
- CardFooter,
2650
- CardHeader,
2651
- Title,
2652
- Gallery,
2653
- GalleryItem,
2654
- Flex,
2655
- FlexItem
2656
- } from '@patternfly/react-core';
2657
- import { ChartArea, ChartContainer, ChartGroup, ChartLabel, ChartVoronoiContainer } from '@patternfly/react-charts';
113
+ ```ts file="./examples/Card/CardTrendDemo2.tsx"
2658
114
 
2659
- <Gallery hasGutter minWidths={{ default: '360px' }}>
2660
- <GalleryItem>
2661
- <Card id="trend-card-2-card" component="div">
2662
- <CardHeader>
2663
- <Flex alignItems={{ default: 'alignItemsCenter' }}>
2664
- <FlexItem flex={{ default: 'flexNone' }}>
2665
- <Flex direction={{ default: 'column' }} spaceItems={{ default: 'spaceItemsNone' }}>
2666
- <FlexItem>
2667
- <CardTitle>
2668
- <Title headingLevel="h4" size="2xl">
2669
- 842 TB
2670
- </Title>
2671
- </CardTitle>
2672
- </FlexItem>
2673
- <FlexItem>
2674
- <span className="pf-v5-u-color-200">Storage capacity</span>
2675
- </FlexItem>
2676
- </Flex>
2677
- </FlexItem>
2678
- <FlexItem flex={{ default: 'flex_1' }}>
2679
- <ChartGroup
2680
- ariaDesc="Mock average cluster utilization"
2681
- ariaTitle="Mock cluster sparkline chart"
2682
- containerComponent={
2683
- <ChartVoronoiContainer labels={({ datum }) => `${datum.name}: ${datum.y}`} constrainToVisibleArea />
2684
- }
2685
- height={100}
2686
- maxDomain={{ y: 9 }}
2687
- padding={0}
2688
- width={400}
2689
- >
2690
- <ChartArea
2691
- data={[
2692
- { name: 'Cluster', x: '2015', y: 7 },
2693
- { name: 'Cluster', x: '2016', y: 6 },
2694
- { name: 'Cluster', x: '2017', y: 8 },
2695
- { name: 'Cluster', x: '2018', y: 3 },
2696
- { name: 'Cluster', x: '2019', y: 4 },
2697
- { name: 'Cluster', x: '2020', y: 1 },
2698
- { name: 'Cluster', x: '2021', y: 0 }
2699
- ]}
2700
- />
2701
- </ChartGroup>
2702
- </FlexItem>
2703
- </Flex>
2704
- </CardHeader>
2705
- <CardFooter>
2706
- <Flex>
2707
- <FlexItem>
2708
- <a href="#">Action 1</a>
2709
- </FlexItem>
2710
- <FlexItem>
2711
- <a href="#">Action 2</a>
2712
- </FlexItem>
2713
- </Flex>
2714
- </CardFooter>
2715
- </Card>
2716
- </GalleryItem>
2717
- </Gallery>;
2718
115
  ```
2719
116
 
2720
117
  ### Log view
2721
118
 
2722
- ```js
2723
- import React from 'react';
2724
- import {
2725
- Card,
2726
- CardHeader,
2727
- CardTitle,
2728
- CardBody,
2729
- CardFooter,
2730
- Gallery,
2731
- Title,
2732
- DescriptionList,
2733
- DescriptionListGroup,
2734
- DescriptionListTerm,
2735
- DescriptionListDescription,
2736
- Select,
2737
- SelectList,
2738
- SelectOption,
2739
- Divider,
2740
- MenuToggle
2741
- } from '@patternfly/react-core';
119
+ ```ts file="./examples/Card/CardLogView.tsx"
2742
120
 
2743
- CardLogViewDemo = () => {
2744
- const [isOpen, setIsOpen] = React.useState(false);
2745
-
2746
- const onActionSelect = (event) => {
2747
- setIsOpen(!isOpen);
2748
- };
2749
-
2750
- const onActionToggle = (_event, isOpen) => {
2751
- setIsOpen(isOpen);
2752
- };
2753
-
2754
- const selectItems = (
2755
- <SelectList>
2756
- <SelectOption key="option1" value="Last hour">
2757
- Last hour
2758
- </SelectOption>
2759
- <SelectOption key="option2" value="Last 6 hours">
2760
- Last 6 hours
2761
- </SelectOption>
2762
- <SelectOption key="option3" value="Last 24 hours">
2763
- Last 24 hours
2764
- </SelectOption>
2765
- <SelectOption key="option4" value="Last 7 days">
2766
- Last 7 days
2767
- </SelectOption>
2768
- </SelectList>
2769
- );
2770
-
2771
- const toggle = (toggleRef) => (
2772
- <MenuToggle ref={toggleRef} onClick={() => setIsOpen(!isOpen)} isExpanded={isOpen} variant="plainText">
2773
- Filter
2774
- </MenuToggle>
2775
- );
2776
-
2777
- const headerActions = (
2778
- <Select onSelect={() => setIsOpen(!isOpen)} onOpenChange={setIsOpen} isOpen={isOpen} toggle={toggle}>
2779
- {selectItems}
2780
- </Select>
2781
- );
2782
-
2783
- return (
2784
- <React.Fragment>
2785
- <b>Note:</b> Custom CSS is used in this demo to align the card title and select toggle text to{' '}
2786
- <code>baseline</code> alignment.
2787
- <br />
2788
- <br />
2789
- <Gallery hasGutter style={{ '--pf-v5-l-gallery--GridTemplateColumns--min': '360px' }}>
2790
- <Card id="card-log-view-example">
2791
- <CardHeader
2792
- className="pf-v5-u-align-items-flex-start"
2793
- actions={{ actions: headerActions, hasNoOffset: true }}
2794
- >
2795
- <CardTitle>
2796
- <Title headingLevel="h4" size="xl" style={{ paddingTop: '3px' }}>
2797
- Activity
2798
- </Title>
2799
- </CardTitle>
2800
- </CardHeader>
2801
- <CardBody>
2802
- <DescriptionList>
2803
- <DescriptionListGroup>
2804
- <DescriptionListTerm>Readiness probe failed</DescriptionListTerm>
2805
- <DescriptionListDescription>
2806
- Readiness probe failed: Get https://10.131.0.7:5000/healthz: dial tcp 10.131.0.7:5000: connect:
2807
- connection refused
2808
- </DescriptionListDescription>
2809
- <DescriptionListDescription>
2810
- <time className="pf-v5-u-color-200 pf-v5-u-font-size-sm">Jun 17, 11:02 am</time>
2811
- </DescriptionListDescription>
2812
- </DescriptionListGroup>
2813
- <DescriptionListGroup>
2814
- <DescriptionListTerm>Successful assignment</DescriptionListTerm>
2815
- <DescriptionListDescription>
2816
- Successfully assigned default/example to ip-10-0-130-149.ec2.internal
2817
- </DescriptionListDescription>
2818
- <DescriptionListDescription>
2819
- <time className="pf-v5-u-color-200 pf-v5-u-font-size-sm">Jun 17, 11:13 am</time>
2820
- </DescriptionListDescription>
2821
- </DescriptionListGroup>
2822
- <DescriptionListGroup>
2823
- <DescriptionListTerm>Pulling image</DescriptionListTerm>
2824
- <DescriptionListDescription>Pulling image "openshift/hello-openshift"</DescriptionListDescription>
2825
- <DescriptionListDescription>
2826
- <time className="pf-v5-u-color-200 pf-v5-u-font-size-sm">Jun 17, 10:59 am</time>
2827
- </DescriptionListDescription>
2828
- </DescriptionListGroup>
2829
- <DescriptionListGroup>
2830
- <DescriptionListTerm>Created container</DescriptionListTerm>
2831
- <DescriptionListDescription>Created container hello-openshift</DescriptionListDescription>
2832
- <DescriptionListDescription>
2833
- <time className="pf-v5-u-color-200 pf-v5-u-font-size-sm">Jun 17, 10:45 am</time>
2834
- </DescriptionListDescription>
2835
- </DescriptionListGroup>
2836
- </DescriptionList>
2837
- </CardBody>
2838
- <Divider />
2839
- <CardFooter>
2840
- <a href="#">View all activity</a>
2841
- </CardFooter>
2842
- </Card>
2843
- </Gallery>
2844
- </React.Fragment>
2845
- );
2846
- };
2847
121
  ```
2848
122
 
2849
123
  ### Events view
2850
124
 
2851
- ```js
2852
- import React from 'react';
2853
- import {
2854
- Card,
2855
- CardHeader,
2856
- CardTitle,
2857
- CardBody,
2858
- CardFooter,
2859
- Gallery,
2860
- Flex,
2861
- FlexItem,
2862
- Title,
2863
- DescriptionList,
2864
- DescriptionListGroup,
2865
- DescriptionListTerm,
2866
- DescriptionListDescription,
2867
- Spinner,
2868
- Select,
2869
- SelectList,
2870
- SelectOption,
2871
- Divider,
2872
- MenuToggle
2873
- } from '@patternfly/react-core';
2874
- import ExclamationCircleIcon from '@patternfly/react-icons/dist/esm/icons/exclamation-circle-icon';
2875
- import CheckCircleIcon from '@patternfly/react-icons/dist/esm/icons/check-circle-icon';
2876
-
2877
- CardEventViewDemo = () => {
2878
- const [isOpen, setIsOpen] = React.useState(false);
2879
-
2880
- const onActionSelect = (event) => {
2881
- setIsOpen(!isOpen);
2882
- };
2883
-
2884
- const onActionToggle = (_event, isOpen) => {
2885
- setIsOpen(isOpen);
2886
- };
2887
-
2888
- const selectItems = (
2889
- <SelectList>
2890
- <SelectOption value="Success" key="option1">
2891
- Success
2892
- </SelectOption>
2893
- <SelectOption value="Error" key="option2">
2894
- Error
2895
- </SelectOption>
2896
- <SelectOption value="Warning" key="option3">
2897
- Error
2898
- </SelectOption>
2899
- </SelectList>
2900
- );
2901
-
2902
- const toggle = (toggleRef) => (
2903
- <MenuToggle ref={toggleRef} onClick={() => setIsOpen(!isOpen)} isExpanded={isOpen} variant="plainText">
2904
- Status
2905
- </MenuToggle>
2906
- );
125
+ ```ts file="./examples/Card/CardEventsView.tsx"
2907
126
 
2908
- const headerActions = (
2909
- <Select onSelect={() => setIsOpen(!isOpen)} onOpenChange={setIsOpen} isOpen={isOpen} toggle={toggle}>
2910
- {selectItems}
2911
- </Select>
2912
- );
2913
- return (
2914
- <React.Fragment>
2915
- <b>Note:</b> Custom CSS is used in this demo to align the card title and select toggle text to{' '}
2916
- <code>baseline</code> alignment.
2917
- <br />
2918
- <br />
2919
- <Gallery hasGutter style={{ '--pf-v5-l-gallery--GridTemplateColumns--min': '360px' }}>
2920
- <Card id="card-events-view-example">
2921
- <CardHeader
2922
- className="pf-v5-u-align-items-flex-start"
2923
- actions={{ actions: headerActions, hasNoOffset: true }}
2924
- >
2925
- <CardTitle>
2926
- <Title headingLevel="h4" size="xl" style={{ paddingTop: '3px' }}>
2927
- Events
2928
- </Title>
2929
- </CardTitle>
2930
- </CardHeader>
2931
- <CardBody>
2932
- <DescriptionList>
2933
- <DescriptionListGroup>
2934
- <DescriptionListTerm>
2935
- <Flex flexWrap={{ default: 'nowrap' }}>
2936
- <FlexItem>
2937
- <ExclamationCircleIcon className="pf-v5-u-danger-color-100" aria-hidden="true" />
2938
- </FlexItem>
2939
- <FlexItem>
2940
- <span>Readiness probe failed</span>
2941
- </FlexItem>
2942
- </Flex>
2943
- </DescriptionListTerm>
2944
- <DescriptionListDescription>
2945
- Readiness probe failed: Get https://10.131.0.7:5000/healthz: dial tcp 10.131.0.7:5000: connect:
2946
- connection refused
2947
- </DescriptionListDescription>
2948
- <DescriptionListDescription>
2949
- <time className="pf-v5-u-color-200 pf-v5-u-font-size-sm">Jun 17, 11:02 am</time>
2950
- </DescriptionListDescription>
2951
- </DescriptionListGroup>
2952
- <DescriptionListGroup>
2953
- <DescriptionListTerm>
2954
- <Flex flexWrap={{ default: 'nowrap' }}>
2955
- <FlexItem>
2956
- <CheckCircleIcon className="pf-v5-u-success-color-100" aria-hidden="true" />
2957
- </FlexItem>
2958
- <FlexItem>
2959
- <span>Successful assignment</span>
2960
- </FlexItem>
2961
- </Flex>
2962
- </DescriptionListTerm>
2963
- <DescriptionListDescription>
2964
- Successfully assigned default/example to ip-10-0-130-149.ec2.internal
2965
- </DescriptionListDescription>
2966
- <DescriptionListDescription>
2967
- <time className="pf-v5-u-color-200 pf-v5-u-font-size-sm">Jun 17, 11:13 am</time>
2968
- </DescriptionListDescription>
2969
- </DescriptionListGroup>
2970
- <DescriptionListGroup>
2971
- <DescriptionListTerm>
2972
- <Flex flexWrap={{ default: 'nowrap' }}>
2973
- <FlexItem>
2974
- <Spinner size="md" aria-label="loading spinner" />
2975
- </FlexItem>
2976
- <FlexItem>
2977
- <span>Pulling image</span>
2978
- </FlexItem>
2979
- </Flex>
2980
- </DescriptionListTerm>
2981
- <DescriptionListDescription>Pulling image "openshift/hello-openshift"</DescriptionListDescription>
2982
- <DescriptionListDescription>
2983
- <time className="pf-v5-u-color-200 pf-v5-u-font-size-sm">Jun 17, 10:59 am</time>
2984
- </DescriptionListDescription>
2985
- </DescriptionListGroup>
2986
- <DescriptionListGroup>
2987
- <DescriptionListTerm>
2988
- <Flex flexWrap={{ default: 'nowrap' }}>
2989
- <FlexItem>
2990
- <CheckCircleIcon className="pf-v5-u-success-color-100" aria-hidden="true" />
2991
- </FlexItem>
2992
- <FlexItem>
2993
- <span>Created container</span>
2994
- </FlexItem>
2995
- </Flex>
2996
- </DescriptionListTerm>
2997
- <DescriptionListDescription>Created container hello-openshift</DescriptionListDescription>
2998
- <DescriptionListDescription>
2999
- <time className="pf-v5-u-color-200 pf-v5-u-font-size-sm">Jun 17, 10:45 am</time>
3000
- </DescriptionListDescription>
3001
- </DescriptionListGroup>
3002
- </DescriptionList>
3003
- </CardBody>
3004
- <Divider />
3005
- <CardFooter>
3006
- <a href="#">View all events</a>
3007
- </CardFooter>
3008
- </Card>
3009
- </Gallery>
3010
- </React.Fragment>
3011
- );
3012
- };
3013
127
  ```