@patternfly/react-core 6.0.0-alpha.1 → 6.0.0-alpha.2

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 (1149) hide show
  1. package/CHANGELOG.md +177 -0
  2. package/README.md +1 -1
  3. package/components/package.json +1 -1
  4. package/deprecated/package.json +1 -1
  5. package/dist/dynamic/components/AboutModal/package.json +1 -1
  6. package/dist/dynamic/components/Accordion/package.json +1 -1
  7. package/dist/dynamic/components/ActionList/package.json +1 -1
  8. package/dist/dynamic/components/Alert/package.json +1 -1
  9. package/dist/dynamic/components/Avatar/package.json +1 -1
  10. package/dist/dynamic/components/BackToTop/package.json +1 -1
  11. package/dist/dynamic/components/Backdrop/package.json +1 -1
  12. package/dist/dynamic/components/BackgroundImage/package.json +1 -1
  13. package/dist/dynamic/components/Badge/package.json +1 -1
  14. package/dist/dynamic/components/Banner/package.json +1 -1
  15. package/dist/dynamic/components/Brand/package.json +1 -1
  16. package/dist/dynamic/components/Breadcrumb/package.json +1 -1
  17. package/dist/dynamic/components/Button/package.json +1 -1
  18. package/dist/dynamic/components/CalendarMonth/package.json +1 -1
  19. package/dist/dynamic/components/Card/package.json +1 -1
  20. package/dist/dynamic/components/Checkbox/package.json +1 -1
  21. package/dist/dynamic/components/Chip/package.json +1 -1
  22. package/dist/dynamic/components/ClipboardCopy/package.json +1 -1
  23. package/dist/dynamic/components/CodeBlock/package.json +1 -1
  24. package/dist/dynamic/components/DataList/package.json +1 -1
  25. package/dist/dynamic/components/DatePicker/package.json +1 -1
  26. package/dist/dynamic/components/DescriptionList/package.json +1 -1
  27. package/dist/dynamic/components/Divider/package.json +1 -1
  28. package/dist/dynamic/components/DragDrop/package.json +1 -1
  29. package/dist/dynamic/components/Drawer/package.json +1 -1
  30. package/dist/dynamic/components/Dropdown/package.json +1 -1
  31. package/dist/dynamic/components/DualListSelector/package.json +1 -1
  32. package/dist/dynamic/components/EmptyState/package.json +1 -1
  33. package/dist/dynamic/components/ExpandableSection/package.json +1 -1
  34. package/dist/dynamic/components/FileUpload/package.json +1 -1
  35. package/dist/dynamic/components/Form/package.json +1 -1
  36. package/dist/dynamic/components/FormSelect/package.json +1 -1
  37. package/dist/dynamic/components/HelperText/package.json +1 -1
  38. package/dist/dynamic/components/Hint/package.json +1 -1
  39. package/dist/dynamic/components/Icon/package.json +1 -1
  40. package/dist/dynamic/components/InputGroup/package.json +1 -1
  41. package/dist/dynamic/components/JumpLinks/package.json +1 -1
  42. package/dist/dynamic/components/Label/package.json +1 -1
  43. package/dist/dynamic/components/List/package.json +1 -1
  44. package/dist/dynamic/components/LoginPage/package.json +1 -1
  45. package/dist/dynamic/components/Masthead/package.json +1 -1
  46. package/dist/dynamic/components/Menu/package.json +1 -1
  47. package/dist/dynamic/components/MenuToggle/package.json +1 -1
  48. package/dist/dynamic/components/Modal/package.json +1 -1
  49. package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
  50. package/dist/dynamic/components/Nav/package.json +1 -1
  51. package/dist/dynamic/components/NotificationBadge/package.json +1 -1
  52. package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
  53. package/dist/dynamic/components/NumberInput/package.json +1 -1
  54. package/dist/dynamic/components/OverflowMenu/package.json +1 -1
  55. package/dist/dynamic/components/Page/package.json +1 -1
  56. package/dist/dynamic/components/Pagination/package.json +1 -1
  57. package/dist/dynamic/components/Panel/package.json +1 -1
  58. package/dist/dynamic/components/Popover/package.json +1 -1
  59. package/dist/dynamic/components/Progress/package.json +1 -1
  60. package/dist/dynamic/components/ProgressStepper/package.json +1 -1
  61. package/dist/dynamic/components/Radio/package.json +1 -1
  62. package/dist/dynamic/components/SearchInput/package.json +1 -1
  63. package/dist/dynamic/components/Select/package.json +1 -1
  64. package/dist/dynamic/components/Sidebar/package.json +1 -1
  65. package/dist/dynamic/components/SimpleList/package.json +1 -1
  66. package/dist/dynamic/components/Skeleton/package.json +1 -1
  67. package/dist/dynamic/components/SkipToContent/package.json +1 -1
  68. package/dist/dynamic/components/Slider/package.json +1 -1
  69. package/dist/dynamic/components/Spinner/package.json +1 -1
  70. package/dist/dynamic/components/Switch/package.json +1 -1
  71. package/dist/dynamic/components/Tabs/package.json +1 -1
  72. package/dist/dynamic/components/Text/package.json +1 -1
  73. package/dist/dynamic/components/TextArea/package.json +1 -1
  74. package/dist/dynamic/components/TextInput/package.json +1 -1
  75. package/dist/dynamic/components/TextInputGroup/package.json +1 -1
  76. package/dist/dynamic/components/Tile/package.json +1 -1
  77. package/dist/dynamic/components/TimePicker/package.json +1 -1
  78. package/dist/dynamic/components/Timestamp/package.json +1 -1
  79. package/dist/dynamic/components/Title/package.json +1 -1
  80. package/dist/dynamic/components/ToggleGroup/package.json +1 -1
  81. package/dist/dynamic/components/Toolbar/package.json +1 -1
  82. package/dist/dynamic/components/Tooltip/package.json +1 -1
  83. package/dist/dynamic/components/TreeView/package.json +1 -1
  84. package/dist/dynamic/components/Truncate/package.json +1 -1
  85. package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
  86. package/dist/dynamic/components/Wizard/package.json +1 -1
  87. package/dist/dynamic/deprecated/components/ApplicationLauncher/package.json +1 -1
  88. package/dist/dynamic/deprecated/components/ContextSelector/package.json +1 -1
  89. package/dist/dynamic/deprecated/components/Dropdown/package.json +1 -1
  90. package/dist/dynamic/deprecated/components/OptionsMenu/package.json +1 -1
  91. package/dist/dynamic/deprecated/components/PageHeader/package.json +1 -1
  92. package/dist/dynamic/deprecated/components/Select/package.json +1 -1
  93. package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
  94. package/dist/dynamic/deprecated/components/package.json +1 -1
  95. package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
  96. package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
  97. package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
  98. package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
  99. package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
  100. package/dist/dynamic/helpers/constants/package.json +1 -1
  101. package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
  102. package/dist/dynamic/helpers/favorites/package.json +1 -1
  103. package/dist/dynamic/helpers/fileUtils/package.json +1 -1
  104. package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
  105. package/dist/dynamic/helpers/package.json +1 -1
  106. package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
  107. package/dist/dynamic/helpers/typeUtils/package.json +1 -1
  108. package/dist/dynamic/helpers/useInterval/package.json +1 -1
  109. package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
  110. package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
  111. package/dist/dynamic/helpers/util/package.json +1 -1
  112. package/dist/dynamic/layouts/Bullseye/package.json +1 -1
  113. package/dist/dynamic/layouts/Flex/package.json +1 -1
  114. package/dist/dynamic/layouts/Gallery/package.json +1 -1
  115. package/dist/dynamic/layouts/Grid/package.json +1 -1
  116. package/dist/dynamic/layouts/Level/package.json +1 -1
  117. package/dist/dynamic/layouts/Split/package.json +1 -1
  118. package/dist/dynamic/layouts/Stack/package.json +1 -1
  119. package/dist/dynamic/next/components/package.json +1 -1
  120. package/dist/esm/components/AboutModal/AboutModalBoxContent.js +1 -1
  121. package/dist/esm/components/AboutModal/AboutModalBoxContent.js.map +1 -1
  122. package/dist/esm/components/ActionList/ActionListItem.d.ts.map +1 -1
  123. package/dist/esm/components/ActionList/ActionListItem.js +2 -1
  124. package/dist/esm/components/ActionList/ActionListItem.js.map +1 -1
  125. package/dist/esm/components/Alert/AlertGroup.d.ts +1 -1
  126. package/dist/esm/components/Alert/AlertIcon.d.ts +1 -1
  127. package/dist/esm/components/Alert/AlertIcon.d.ts.map +1 -1
  128. package/dist/esm/components/BackToTop/BackToTop.d.ts +1 -1
  129. package/dist/esm/components/BackToTop/BackToTop.d.ts.map +1 -1
  130. package/dist/esm/components/BackToTop/BackToTop.js +9 -7
  131. package/dist/esm/components/BackToTop/BackToTop.js.map +1 -1
  132. package/dist/esm/components/BackgroundImage/BackgroundImage.d.ts.map +1 -1
  133. package/dist/esm/components/BackgroundImage/BackgroundImage.js +2 -1
  134. package/dist/esm/components/BackgroundImage/BackgroundImage.js.map +1 -1
  135. package/dist/esm/components/Brand/Brand.d.ts.map +1 -1
  136. package/dist/esm/components/Brand/Brand.js +4 -2
  137. package/dist/esm/components/Brand/Brand.js.map +1 -1
  138. package/dist/esm/components/CalendarMonth/CalendarMonth.d.ts +1 -1
  139. package/dist/esm/components/CalendarMonth/CalendarMonth.d.ts.map +1 -1
  140. package/dist/esm/components/CalendarMonth/CalendarMonth.js +15 -39
  141. package/dist/esm/components/CalendarMonth/CalendarMonth.js.map +1 -1
  142. package/dist/esm/components/Checkbox/Checkbox.d.ts +1 -1
  143. package/dist/esm/components/Chip/Chip.d.ts +5 -5
  144. package/dist/esm/components/Chip/Chip.d.ts.map +1 -1
  145. package/dist/esm/components/Chip/Chip.js +4 -3
  146. package/dist/esm/components/Chip/Chip.js.map +1 -1
  147. package/dist/esm/components/Chip/ChipGroup.d.ts +2 -2
  148. package/dist/esm/components/ClipboardCopy/ClipboardCopy.d.ts +2 -2
  149. package/dist/esm/components/ClipboardCopy/ClipboardCopy.d.ts.map +1 -1
  150. package/dist/esm/components/ClipboardCopy/ClipboardCopyButton.d.ts.map +1 -1
  151. package/dist/esm/components/ClipboardCopy/ClipboardCopyButton.js +2 -2
  152. package/dist/esm/components/ClipboardCopy/ClipboardCopyButton.js.map +1 -1
  153. package/dist/esm/components/ClipboardCopy/ClipboardCopyExpanded.d.ts +1 -1
  154. package/dist/esm/components/ClipboardCopy/ClipboardCopyToggle.js +1 -1
  155. package/dist/esm/components/ClipboardCopy/ClipboardCopyToggle.js.map +1 -1
  156. package/dist/esm/components/CodeBlock/CodeBlockAction.d.ts.map +1 -1
  157. package/dist/esm/components/CodeBlock/CodeBlockAction.js +2 -1
  158. package/dist/esm/components/CodeBlock/CodeBlockAction.js.map +1 -1
  159. package/dist/esm/components/DataList/DataList.d.ts +1 -1
  160. package/dist/esm/components/DataList/DataListItem.d.ts +1 -1
  161. package/dist/esm/components/DatePicker/DatePicker.d.ts.map +1 -1
  162. package/dist/esm/components/DatePicker/DatePicker.js +2 -1
  163. package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
  164. package/dist/esm/components/DescriptionList/DescriptionList.d.ts.map +1 -1
  165. package/dist/esm/components/DescriptionList/DescriptionList.js +6 -3
  166. package/dist/esm/components/DescriptionList/DescriptionList.js.map +1 -1
  167. package/dist/esm/components/DragDrop/Draggable.d.ts.map +1 -1
  168. package/dist/esm/components/DragDrop/Draggable.js +2 -1
  169. package/dist/esm/components/DragDrop/Draggable.js.map +1 -1
  170. package/dist/esm/components/Drawer/DrawerPanelContent.d.ts +1 -1
  171. package/dist/esm/components/Drawer/DrawerPanelContent.d.ts.map +1 -1
  172. package/dist/esm/components/Drawer/DrawerPanelContent.js +12 -9
  173. package/dist/esm/components/Drawer/DrawerPanelContent.js.map +1 -1
  174. package/dist/esm/components/Dropdown/Dropdown.d.ts +2 -0
  175. package/dist/esm/components/Dropdown/Dropdown.d.ts.map +1 -1
  176. package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
  177. package/dist/esm/components/DualListSelector/DualListSelector.d.ts +1 -1
  178. package/dist/esm/components/DualListSelector/DualListSelectorControl.d.ts +1 -1
  179. package/dist/esm/components/DualListSelector/DualListSelectorControl.d.ts.map +1 -1
  180. package/dist/esm/components/DualListSelector/DualListSelectorControl.js +2 -1
  181. package/dist/esm/components/DualListSelector/DualListSelectorControl.js.map +1 -1
  182. package/dist/esm/components/DualListSelector/DualListSelectorControlsWrapper.d.ts +1 -1
  183. package/dist/esm/components/DualListSelector/DualListSelectorControlsWrapper.d.ts.map +1 -1
  184. package/dist/esm/components/DualListSelector/DualListSelectorListItem.d.ts +1 -1
  185. package/dist/esm/components/DualListSelector/DualListSelectorListItem.d.ts.map +1 -1
  186. package/dist/esm/components/DualListSelector/DualListSelectorListWrapper.d.ts +1 -1
  187. package/dist/esm/components/DualListSelector/DualListSelectorListWrapper.d.ts.map +1 -1
  188. package/dist/esm/components/DualListSelector/DualListSelectorPane.d.ts.map +1 -1
  189. package/dist/esm/components/DualListSelector/DualListSelectorPane.js +4 -3
  190. package/dist/esm/components/DualListSelector/DualListSelectorPane.js.map +1 -1
  191. package/dist/esm/components/EmptyState/EmptyStateHeader.js +2 -2
  192. package/dist/esm/components/EmptyState/EmptyStateHeader.js.map +1 -1
  193. package/dist/esm/components/EmptyState/EmptyStateIcon.d.ts.map +1 -1
  194. package/dist/esm/components/EmptyState/EmptyStateIcon.js +2 -2
  195. package/dist/esm/components/EmptyState/EmptyStateIcon.js.map +1 -1
  196. package/dist/esm/components/ExpandableSection/ExpandableSection.d.ts +1 -1
  197. package/dist/esm/components/ExpandableSection/ExpandableSection.js +1 -1
  198. package/dist/esm/components/ExpandableSection/ExpandableSection.js.map +1 -1
  199. package/dist/esm/components/Form/Form.d.ts.map +1 -1
  200. package/dist/esm/components/Form/Form.js +2 -1
  201. package/dist/esm/components/Form/Form.js.map +1 -1
  202. package/dist/esm/components/Form/FormAlert.d.ts.map +1 -1
  203. package/dist/esm/components/Form/FormAlert.js +2 -1
  204. package/dist/esm/components/Form/FormAlert.js.map +1 -1
  205. package/dist/esm/components/FormControl/FormControlIcon.d.ts +1 -1
  206. package/dist/esm/components/FormControl/FormControlIcon.d.ts.map +1 -1
  207. package/dist/esm/components/FormSelect/FormSelect.d.ts +1 -1
  208. package/dist/esm/components/InputGroup/InputGroup.d.ts +1 -1
  209. package/dist/esm/components/InputGroup/InputGroup.d.ts.map +1 -1
  210. package/dist/esm/components/InputGroup/InputGroup.js +1 -51
  211. package/dist/esm/components/InputGroup/InputGroup.js.map +1 -1
  212. package/dist/esm/components/JumpLinks/JumpLinks.js +1 -1
  213. package/dist/esm/components/JumpLinks/JumpLinks.js.map +1 -1
  214. package/dist/esm/components/Label/Label.d.ts.map +1 -1
  215. package/dist/esm/components/Label/Label.js +2 -1
  216. package/dist/esm/components/Label/Label.js.map +1 -1
  217. package/dist/esm/components/Label/LabelGroup.d.ts +2 -2
  218. package/dist/esm/components/Masthead/Masthead.d.ts +0 -2
  219. package/dist/esm/components/Masthead/Masthead.d.ts.map +1 -1
  220. package/dist/esm/components/Masthead/Masthead.js +3 -3
  221. package/dist/esm/components/Masthead/Masthead.js.map +1 -1
  222. package/dist/esm/components/Menu/Menu.d.ts.map +1 -1
  223. package/dist/esm/components/Menu/Menu.js +8 -5
  224. package/dist/esm/components/Menu/Menu.js.map +1 -1
  225. package/dist/esm/components/Menu/MenuContainer.d.ts +2 -0
  226. package/dist/esm/components/Menu/MenuContainer.d.ts.map +1 -1
  227. package/dist/esm/components/Menu/MenuContainer.js.map +1 -1
  228. package/dist/esm/components/Menu/MenuContent.d.ts +1 -1
  229. package/dist/esm/components/Menu/MenuContent.d.ts.map +1 -1
  230. package/dist/esm/components/Menu/MenuContent.js +3 -1
  231. package/dist/esm/components/Menu/MenuContent.js.map +1 -1
  232. package/dist/esm/components/Menu/MenuGroup.d.ts +1 -1
  233. package/dist/esm/components/Menu/MenuGroup.d.ts.map +1 -1
  234. package/dist/esm/components/Menu/MenuItem.d.ts +1 -1
  235. package/dist/esm/components/Menu/MenuItem.d.ts.map +1 -1
  236. package/dist/esm/components/Menu/MenuSearch.d.ts +1 -1
  237. package/dist/esm/components/Menu/MenuSearch.d.ts.map +1 -1
  238. package/dist/esm/components/Menu/MenuSearchInput.d.ts +1 -1
  239. package/dist/esm/components/Menu/MenuSearchInput.d.ts.map +1 -1
  240. package/dist/esm/components/Menu/MenuSearchInput.js +2 -1
  241. package/dist/esm/components/Menu/MenuSearchInput.js.map +1 -1
  242. package/dist/esm/components/MenuToggle/MenuToggleAction.d.ts +1 -1
  243. package/dist/esm/components/MenuToggle/MenuToggleCheckbox.d.ts +1 -1
  244. package/dist/esm/components/Modal/ModalBoxHeader.js +1 -1
  245. package/dist/esm/components/Modal/ModalBoxHeader.js.map +1 -1
  246. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatus.js +1 -1
  247. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatus.js.map +1 -1
  248. package/dist/esm/components/Nav/Nav.d.ts +1 -1
  249. package/dist/esm/components/Nav/NavExpandable.d.ts +4 -4
  250. package/dist/esm/components/Nav/NavExpandable.d.ts.map +1 -1
  251. package/dist/esm/components/Nav/NavExpandable.js +2 -2
  252. package/dist/esm/components/Nav/NavExpandable.js.map +1 -1
  253. package/dist/esm/components/Nav/NavItem.d.ts +2 -0
  254. package/dist/esm/components/Nav/NavItem.d.ts.map +1 -1
  255. package/dist/esm/components/Nav/NavItem.js +2 -2
  256. package/dist/esm/components/Nav/NavItem.js.map +1 -1
  257. package/dist/esm/components/Nav/NavList.d.ts +1 -1
  258. package/dist/esm/components/Nav/NavList.js +3 -3
  259. package/dist/esm/components/Nav/NavList.js.map +1 -1
  260. package/dist/esm/components/NotificationBadge/NotificationBadge.js +1 -1
  261. package/dist/esm/components/NotificationBadge/NotificationBadge.js.map +1 -1
  262. package/dist/esm/components/NotificationDrawer/NotificationDrawer.d.ts +1 -1
  263. package/dist/esm/components/NotificationDrawer/NotificationDrawer.d.ts.map +1 -1
  264. package/dist/esm/components/NotificationDrawer/NotificationDrawerGroup.js +1 -1
  265. package/dist/esm/components/NotificationDrawer/NotificationDrawerGroup.js.map +1 -1
  266. package/dist/esm/components/NotificationDrawer/NotificationDrawerList.d.ts.map +1 -1
  267. package/dist/esm/components/NotificationDrawer/NotificationDrawerList.js +2 -1
  268. package/dist/esm/components/NotificationDrawer/NotificationDrawerList.js.map +1 -1
  269. package/dist/esm/components/NotificationDrawer/NotificationDrawerListItem.d.ts.map +1 -1
  270. package/dist/esm/components/NotificationDrawer/NotificationDrawerListItem.js +1 -1
  271. package/dist/esm/components/NotificationDrawer/NotificationDrawerListItem.js.map +1 -1
  272. package/dist/esm/components/NumberInput/NumberInput.d.ts.map +1 -1
  273. package/dist/esm/components/NumberInput/NumberInput.js +2 -1
  274. package/dist/esm/components/NumberInput/NumberInput.js.map +1 -1
  275. package/dist/esm/components/OverflowMenu/OverflowMenu.d.ts +1 -1
  276. package/dist/esm/components/Page/Page.d.ts +1 -1
  277. package/dist/esm/components/Page/PageBreadcrumb.d.ts +1 -1
  278. package/dist/esm/components/Page/PageGroup.d.ts +1 -1
  279. package/dist/esm/components/Page/PageNavigation.d.ts +1 -1
  280. package/dist/esm/components/Page/PageSection.d.ts +2 -5
  281. package/dist/esm/components/Page/PageSection.d.ts.map +1 -1
  282. package/dist/esm/components/Page/PageSection.js +1 -7
  283. package/dist/esm/components/Page/PageSection.js.map +1 -1
  284. package/dist/esm/components/Page/PageSidebar.d.ts +0 -2
  285. package/dist/esm/components/Page/PageSidebar.d.ts.map +1 -1
  286. package/dist/esm/components/Page/PageSidebar.js +2 -2
  287. package/dist/esm/components/Page/PageSidebar.js.map +1 -1
  288. package/dist/esm/components/Pagination/Navigation.d.ts +1 -1
  289. package/dist/esm/components/Panel/Panel.d.ts +1 -1
  290. package/dist/esm/components/Panel/Panel.d.ts.map +1 -1
  291. package/dist/esm/components/Panel/PanelMain.d.ts.map +1 -1
  292. package/dist/esm/components/Panel/PanelMain.js +2 -1
  293. package/dist/esm/components/Panel/PanelMain.js.map +1 -1
  294. package/dist/esm/components/Progress/Progress.d.ts +1 -1
  295. package/dist/esm/components/Radio/Radio.d.ts +1 -1
  296. package/dist/esm/components/SearchInput/SearchInput.d.ts +2 -0
  297. package/dist/esm/components/SearchInput/SearchInput.d.ts.map +1 -1
  298. package/dist/esm/components/SearchInput/SearchInput.js +4 -3
  299. package/dist/esm/components/SearchInput/SearchInput.js.map +1 -1
  300. package/dist/esm/components/Select/Select.d.ts +2 -0
  301. package/dist/esm/components/Select/Select.d.ts.map +1 -1
  302. package/dist/esm/components/Select/Select.js.map +1 -1
  303. package/dist/esm/components/SimpleList/SimpleList.d.ts +1 -1
  304. package/dist/esm/components/SimpleList/SimpleListItem.d.ts +1 -1
  305. package/dist/esm/components/Skeleton/Skeleton.d.ts.map +1 -1
  306. package/dist/esm/components/Skeleton/Skeleton.js +3 -1
  307. package/dist/esm/components/Skeleton/Skeleton.js.map +1 -1
  308. package/dist/esm/components/Slider/Slider.d.ts.map +1 -1
  309. package/dist/esm/components/Slider/Slider.js +10 -7
  310. package/dist/esm/components/Slider/Slider.js.map +1 -1
  311. package/dist/esm/components/Spinner/Spinner.d.ts.map +1 -1
  312. package/dist/esm/components/Spinner/Spinner.js +2 -1
  313. package/dist/esm/components/Spinner/Spinner.js.map +1 -1
  314. package/dist/esm/components/Switch/Switch.d.ts +1 -1
  315. package/dist/esm/components/Tabs/OverflowTab.js +1 -1
  316. package/dist/esm/components/Tabs/OverflowTab.js.map +1 -1
  317. package/dist/esm/components/Tabs/Tab.d.ts +1 -1
  318. package/dist/esm/components/Tabs/Tab.d.ts.map +1 -1
  319. package/dist/esm/components/Tabs/Tabs.d.ts +1 -1
  320. package/dist/esm/components/Tabs/Tabs.js +3 -3
  321. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  322. package/dist/esm/components/TextInput/TextInput.d.ts +1 -1
  323. package/dist/esm/components/TextInputGroup/TextInputGroupMain.d.ts +1 -1
  324. package/dist/esm/components/TextInputGroup/TextInputGroupMain.d.ts.map +1 -1
  325. package/dist/esm/components/TimePicker/TimePicker.d.ts +1 -1
  326. package/dist/esm/components/TimePicker/TimePicker.d.ts.map +1 -1
  327. package/dist/esm/components/TimePicker/TimePicker.js +2 -1
  328. package/dist/esm/components/TimePicker/TimePicker.js.map +1 -1
  329. package/dist/esm/components/Timestamp/Timestamp.js +1 -1
  330. package/dist/esm/components/Timestamp/Timestamp.js.map +1 -1
  331. package/dist/esm/components/Toolbar/Toolbar.d.ts +2 -2
  332. package/dist/esm/components/Toolbar/Toolbar.d.ts.map +1 -1
  333. package/dist/esm/components/Toolbar/ToolbarChipGroupContent.d.ts +1 -1
  334. package/dist/esm/components/Toolbar/ToolbarContent.d.ts +1 -1
  335. package/dist/esm/components/Toolbar/ToolbarExpandableContent.d.ts +1 -1
  336. package/dist/esm/components/Toolbar/ToolbarFilter.d.ts +1 -1
  337. package/dist/esm/components/Toolbar/ToolbarItem.d.ts.map +1 -1
  338. package/dist/esm/components/Toolbar/ToolbarItem.js +2 -1
  339. package/dist/esm/components/Toolbar/ToolbarItem.js.map +1 -1
  340. package/dist/esm/components/Toolbar/ToolbarToggleGroup.d.ts +1 -1
  341. package/dist/esm/components/TreeView/TreeViewList.d.ts.map +1 -1
  342. package/dist/esm/components/TreeView/TreeViewList.js +2 -1
  343. package/dist/esm/components/TreeView/TreeViewList.js.map +1 -1
  344. package/dist/esm/components/TreeView/TreeViewRoot.d.ts +1 -1
  345. package/dist/esm/components/TreeView/TreeViewRoot.d.ts.map +1 -1
  346. package/dist/esm/components/TreeView/TreeViewRoot.js +7 -7
  347. package/dist/esm/components/TreeView/TreeViewRoot.js.map +1 -1
  348. package/dist/esm/components/Wizard/Wizard.d.ts +3 -1
  349. package/dist/esm/components/Wizard/Wizard.d.ts.map +1 -1
  350. package/dist/esm/components/Wizard/Wizard.js +5 -5
  351. package/dist/esm/components/Wizard/Wizard.js.map +1 -1
  352. package/dist/esm/components/Wizard/WizardBody.d.ts +1 -1
  353. package/dist/esm/components/Wizard/WizardFooter.d.ts +2 -2
  354. package/dist/esm/components/Wizard/WizardNavInternal.d.ts +4 -3
  355. package/dist/esm/components/Wizard/WizardNavInternal.d.ts.map +1 -1
  356. package/dist/esm/components/Wizard/WizardNavInternal.js +2 -2
  357. package/dist/esm/components/Wizard/WizardNavInternal.js.map +1 -1
  358. package/dist/esm/components/Wizard/WizardNavItem.d.ts +1 -1
  359. package/dist/esm/components/Wizard/WizardNavItem.d.ts.map +1 -1
  360. package/dist/esm/components/Wizard/WizardNavItem.js +4 -2
  361. package/dist/esm/components/Wizard/WizardNavItem.js.map +1 -1
  362. package/dist/esm/components/Wizard/WizardStep.d.ts +1 -1
  363. package/dist/esm/components/Wizard/WizardToggle.d.ts +1 -1
  364. package/dist/esm/demos/DashboardHeader.d.ts +8 -0
  365. package/dist/esm/demos/DashboardHeader.d.ts.map +1 -0
  366. package/dist/esm/demos/DashboardHeader.js +77 -0
  367. package/dist/esm/demos/DashboardHeader.js.map +1 -0
  368. package/dist/esm/demos/DashboardWrapper.d.ts +14 -0
  369. package/dist/esm/demos/DashboardWrapper.d.ts.map +1 -0
  370. package/dist/esm/demos/DashboardWrapper.js +41 -0
  371. package/dist/esm/demos/DashboardWrapper.js.map +1 -0
  372. package/dist/esm/demos/index.d.ts +3 -0
  373. package/dist/esm/demos/index.d.ts.map +1 -0
  374. package/dist/esm/demos/index.js +3 -0
  375. package/dist/esm/demos/index.js.map +1 -0
  376. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncher.d.ts +2 -2
  377. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncher.d.ts.map +1 -1
  378. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherText.d.ts.map +1 -1
  379. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherText.js +2 -1
  380. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherText.js.map +1 -1
  381. package/dist/esm/deprecated/components/ContextSelector/ContextSelector.d.ts +1 -1
  382. package/dist/esm/deprecated/components/ContextSelector/ContextSelectorItem.d.ts +1 -1
  383. package/dist/esm/deprecated/components/ContextSelector/ContextSelectorMenuList.d.ts +1 -1
  384. package/dist/esm/deprecated/components/ContextSelector/ContextSelectorMenuList.d.ts.map +1 -1
  385. package/dist/esm/deprecated/components/ContextSelector/ContextSelectorToggle.d.ts +1 -1
  386. package/dist/esm/deprecated/components/Dropdown/DropdownMenu.d.ts +1 -1
  387. package/dist/esm/deprecated/components/Dropdown/DropdownToggleAction.d.ts +1 -1
  388. package/dist/esm/deprecated/components/Dropdown/DropdownToggleCheckbox.d.ts +1 -1
  389. package/dist/esm/deprecated/components/Dropdown/DropdownWithContext.d.ts +1 -1
  390. package/dist/esm/deprecated/components/Dropdown/InternalDropdownItem.d.ts +1 -1
  391. package/dist/esm/deprecated/components/Dropdown/Toggle.d.ts +1 -1
  392. package/dist/esm/deprecated/components/PageHeader/PageHeaderToolsItem.d.ts +0 -2
  393. package/dist/esm/deprecated/components/PageHeader/PageHeaderToolsItem.d.ts.map +1 -1
  394. package/dist/esm/deprecated/components/PageHeader/PageHeaderToolsItem.js +2 -2
  395. package/dist/esm/deprecated/components/PageHeader/PageHeaderToolsItem.js.map +1 -1
  396. package/dist/esm/deprecated/components/Select/Select.d.ts +1 -1
  397. package/dist/esm/deprecated/components/Select/SelectMenu.js +1 -1
  398. package/dist/esm/deprecated/components/Select/SelectMenu.js.map +1 -1
  399. package/dist/esm/deprecated/components/Select/SelectOption.d.ts +1 -1
  400. package/dist/esm/deprecated/components/Wizard/Wizard.d.ts +1 -1
  401. package/dist/esm/helpers/FocusTrap/FocusTrap.d.ts +1 -1
  402. package/dist/esm/helpers/FocusTrap/FocusTrap.d.ts.map +1 -1
  403. package/dist/esm/helpers/Popper/Popper.d.ts +2 -1
  404. package/dist/esm/helpers/Popper/Popper.d.ts.map +1 -1
  405. package/dist/esm/helpers/Popper/Popper.js +7 -16
  406. package/dist/esm/helpers/Popper/Popper.js.map +1 -1
  407. package/dist/esm/helpers/datetimeUtils.d.ts +1 -1
  408. package/dist/esm/helpers/datetimeUtils.d.ts.map +1 -1
  409. package/dist/esm/helpers/datetimeUtils.js.map +1 -1
  410. package/dist/esm/helpers/util.d.ts +9 -0
  411. package/dist/esm/helpers/util.d.ts.map +1 -1
  412. package/dist/esm/helpers/util.js +18 -0
  413. package/dist/esm/helpers/util.js.map +1 -1
  414. package/dist/esm/index.d.ts +1 -0
  415. package/dist/esm/index.d.ts.map +1 -1
  416. package/dist/esm/index.js +1 -0
  417. package/dist/esm/index.js.map +1 -1
  418. package/dist/esm/layouts/Gallery/Gallery.d.ts.map +1 -1
  419. package/dist/esm/layouts/Gallery/Gallery.js +6 -2
  420. package/dist/esm/layouts/Gallery/Gallery.js.map +1 -1
  421. package/dist/js/components/AboutModal/AboutModal.js +1 -1
  422. package/dist/js/components/AboutModal/AboutModal.js.map +1 -1
  423. package/dist/js/components/AboutModal/AboutModalBoxCloseButton.js +1 -1
  424. package/dist/js/components/AboutModal/AboutModalBoxCloseButton.js.map +1 -1
  425. package/dist/js/components/AboutModal/AboutModalBoxContent.js +1 -1
  426. package/dist/js/components/AboutModal/AboutModalBoxContent.js.map +1 -1
  427. package/dist/js/components/Accordion/AccordionToggle.js +1 -1
  428. package/dist/js/components/Accordion/AccordionToggle.js.map +1 -1
  429. package/dist/js/components/ActionList/ActionListItem.d.ts.map +1 -1
  430. package/dist/js/components/ActionList/ActionListItem.js +2 -1
  431. package/dist/js/components/ActionList/ActionListItem.js.map +1 -1
  432. package/dist/js/components/Alert/Alert.js +1 -1
  433. package/dist/js/components/Alert/Alert.js.map +1 -1
  434. package/dist/js/components/Alert/AlertActionCloseButton.js +1 -1
  435. package/dist/js/components/Alert/AlertActionCloseButton.js.map +1 -1
  436. package/dist/js/components/Alert/AlertGroup.d.ts +1 -1
  437. package/dist/js/components/Alert/AlertIcon.d.ts +1 -1
  438. package/dist/js/components/Alert/AlertIcon.d.ts.map +1 -1
  439. package/dist/js/components/Alert/AlertIcon.js +5 -5
  440. package/dist/js/components/Alert/AlertIcon.js.map +1 -1
  441. package/dist/js/components/Alert/AlertToggleExpandButton.js +1 -1
  442. package/dist/js/components/Alert/AlertToggleExpandButton.js.map +1 -1
  443. package/dist/js/components/BackToTop/BackToTop.d.ts +1 -1
  444. package/dist/js/components/BackToTop/BackToTop.d.ts.map +1 -1
  445. package/dist/js/components/BackToTop/BackToTop.js +10 -8
  446. package/dist/js/components/BackToTop/BackToTop.js.map +1 -1
  447. package/dist/js/components/BackgroundImage/BackgroundImage.d.ts.map +1 -1
  448. package/dist/js/components/BackgroundImage/BackgroundImage.js +2 -1
  449. package/dist/js/components/BackgroundImage/BackgroundImage.js.map +1 -1
  450. package/dist/js/components/Brand/Brand.d.ts.map +1 -1
  451. package/dist/js/components/Brand/Brand.js +4 -2
  452. package/dist/js/components/Brand/Brand.js.map +1 -1
  453. package/dist/js/components/Breadcrumb/BreadcrumbHeading.js +1 -1
  454. package/dist/js/components/Breadcrumb/BreadcrumbHeading.js.map +1 -1
  455. package/dist/js/components/Breadcrumb/BreadcrumbItem.js +1 -1
  456. package/dist/js/components/Breadcrumb/BreadcrumbItem.js.map +1 -1
  457. package/dist/js/components/CalendarMonth/CalendarMonth.d.ts +1 -1
  458. package/dist/js/components/CalendarMonth/CalendarMonth.d.ts.map +1 -1
  459. package/dist/js/components/CalendarMonth/CalendarMonth.js +17 -41
  460. package/dist/js/components/CalendarMonth/CalendarMonth.js.map +1 -1
  461. package/dist/js/components/Card/CardHeader.js +1 -1
  462. package/dist/js/components/Card/CardHeader.js.map +1 -1
  463. package/dist/js/components/Checkbox/Checkbox.d.ts +1 -1
  464. package/dist/js/components/Chip/Chip.d.ts +5 -5
  465. package/dist/js/components/Chip/Chip.d.ts.map +1 -1
  466. package/dist/js/components/Chip/Chip.js +5 -4
  467. package/dist/js/components/Chip/Chip.js.map +1 -1
  468. package/dist/js/components/Chip/ChipGroup.d.ts +2 -2
  469. package/dist/js/components/Chip/ChipGroup.js +1 -1
  470. package/dist/js/components/Chip/ChipGroup.js.map +1 -1
  471. package/dist/js/components/ClipboardCopy/ClipboardCopy.d.ts +2 -2
  472. package/dist/js/components/ClipboardCopy/ClipboardCopy.d.ts.map +1 -1
  473. package/dist/js/components/ClipboardCopy/ClipboardCopyButton.d.ts.map +1 -1
  474. package/dist/js/components/ClipboardCopy/ClipboardCopyButton.js +3 -3
  475. package/dist/js/components/ClipboardCopy/ClipboardCopyButton.js.map +1 -1
  476. package/dist/js/components/ClipboardCopy/ClipboardCopyExpanded.d.ts +1 -1
  477. package/dist/js/components/ClipboardCopy/ClipboardCopyToggle.js +2 -2
  478. package/dist/js/components/ClipboardCopy/ClipboardCopyToggle.js.map +1 -1
  479. package/dist/js/components/CodeBlock/CodeBlockAction.d.ts.map +1 -1
  480. package/dist/js/components/CodeBlock/CodeBlockAction.js +2 -1
  481. package/dist/js/components/CodeBlock/CodeBlockAction.js.map +1 -1
  482. package/dist/js/components/DataList/DataList.d.ts +1 -1
  483. package/dist/js/components/DataList/DataListDragButton.js +1 -1
  484. package/dist/js/components/DataList/DataListDragButton.js.map +1 -1
  485. package/dist/js/components/DataList/DataListItem.d.ts +1 -1
  486. package/dist/js/components/DataList/DataListToggle.js +1 -1
  487. package/dist/js/components/DataList/DataListToggle.js.map +1 -1
  488. package/dist/js/components/DatePicker/DatePicker.d.ts.map +1 -1
  489. package/dist/js/components/DatePicker/DatePicker.js +3 -2
  490. package/dist/js/components/DatePicker/DatePicker.js.map +1 -1
  491. package/dist/js/components/DescriptionList/DescriptionList.d.ts.map +1 -1
  492. package/dist/js/components/DescriptionList/DescriptionList.js +6 -3
  493. package/dist/js/components/DescriptionList/DescriptionList.js.map +1 -1
  494. package/dist/js/components/DragDrop/Draggable.d.ts.map +1 -1
  495. package/dist/js/components/DragDrop/Draggable.js +2 -1
  496. package/dist/js/components/DragDrop/Draggable.js.map +1 -1
  497. package/dist/js/components/Drawer/DrawerCloseButton.js +1 -1
  498. package/dist/js/components/Drawer/DrawerCloseButton.js.map +1 -1
  499. package/dist/js/components/Drawer/DrawerPanelContent.d.ts +1 -1
  500. package/dist/js/components/Drawer/DrawerPanelContent.d.ts.map +1 -1
  501. package/dist/js/components/Drawer/DrawerPanelContent.js +11 -8
  502. package/dist/js/components/Drawer/DrawerPanelContent.js.map +1 -1
  503. package/dist/js/components/Dropdown/Dropdown.d.ts +2 -0
  504. package/dist/js/components/Dropdown/Dropdown.d.ts.map +1 -1
  505. package/dist/js/components/Dropdown/Dropdown.js.map +1 -1
  506. package/dist/js/components/DualListSelector/DualListSelector.d.ts +1 -1
  507. package/dist/js/components/DualListSelector/DualListSelector.js +4 -4
  508. package/dist/js/components/DualListSelector/DualListSelector.js.map +1 -1
  509. package/dist/js/components/DualListSelector/DualListSelectorControl.d.ts +1 -1
  510. package/dist/js/components/DualListSelector/DualListSelectorControl.d.ts.map +1 -1
  511. package/dist/js/components/DualListSelector/DualListSelectorControl.js +2 -1
  512. package/dist/js/components/DualListSelector/DualListSelectorControl.js.map +1 -1
  513. package/dist/js/components/DualListSelector/DualListSelectorControlsWrapper.d.ts +1 -1
  514. package/dist/js/components/DualListSelector/DualListSelectorControlsWrapper.d.ts.map +1 -1
  515. package/dist/js/components/DualListSelector/DualListSelectorListItem.d.ts +1 -1
  516. package/dist/js/components/DualListSelector/DualListSelectorListItem.d.ts.map +1 -1
  517. package/dist/js/components/DualListSelector/DualListSelectorListItem.js +1 -1
  518. package/dist/js/components/DualListSelector/DualListSelectorListItem.js.map +1 -1
  519. package/dist/js/components/DualListSelector/DualListSelectorListWrapper.d.ts +1 -1
  520. package/dist/js/components/DualListSelector/DualListSelectorListWrapper.d.ts.map +1 -1
  521. package/dist/js/components/DualListSelector/DualListSelectorPane.d.ts.map +1 -1
  522. package/dist/js/components/DualListSelector/DualListSelectorPane.js +4 -3
  523. package/dist/js/components/DualListSelector/DualListSelectorPane.js.map +1 -1
  524. package/dist/js/components/DualListSelector/DualListSelectorTreeItem.js +1 -1
  525. package/dist/js/components/DualListSelector/DualListSelectorTreeItem.js.map +1 -1
  526. package/dist/js/components/EmptyState/EmptyStateHeader.js +2 -2
  527. package/dist/js/components/EmptyState/EmptyStateHeader.js.map +1 -1
  528. package/dist/js/components/EmptyState/EmptyStateIcon.d.ts.map +1 -1
  529. package/dist/js/components/EmptyState/EmptyStateIcon.js +2 -2
  530. package/dist/js/components/EmptyState/EmptyStateIcon.js.map +1 -1
  531. package/dist/js/components/ExpandableSection/ExpandableSection.d.ts +1 -1
  532. package/dist/js/components/ExpandableSection/ExpandableSection.js +3 -3
  533. package/dist/js/components/ExpandableSection/ExpandableSection.js.map +1 -1
  534. package/dist/js/components/ExpandableSection/ExpandableSectionToggle.js +1 -1
  535. package/dist/js/components/ExpandableSection/ExpandableSectionToggle.js.map +1 -1
  536. package/dist/js/components/Form/Form.d.ts.map +1 -1
  537. package/dist/js/components/Form/Form.js +2 -1
  538. package/dist/js/components/Form/Form.js.map +1 -1
  539. package/dist/js/components/Form/FormAlert.d.ts.map +1 -1
  540. package/dist/js/components/Form/FormAlert.js +2 -1
  541. package/dist/js/components/Form/FormAlert.js.map +1 -1
  542. package/dist/js/components/Form/FormFieldGroupToggle.js +1 -1
  543. package/dist/js/components/Form/FormFieldGroupToggle.js.map +1 -1
  544. package/dist/js/components/FormControl/FormControlIcon.d.ts +1 -1
  545. package/dist/js/components/FormControl/FormControlIcon.d.ts.map +1 -1
  546. package/dist/js/components/FormControl/FormControlIcon.js +3 -3
  547. package/dist/js/components/FormControl/FormControlIcon.js.map +1 -1
  548. package/dist/js/components/FormSelect/FormSelect.d.ts +1 -1
  549. package/dist/js/components/FormSelect/FormSelect.js +1 -1
  550. package/dist/js/components/FormSelect/FormSelect.js.map +1 -1
  551. package/dist/js/components/HelperText/HelperTextItem.js +4 -4
  552. package/dist/js/components/HelperText/HelperTextItem.js.map +1 -1
  553. package/dist/js/components/InputGroup/InputGroup.d.ts +1 -1
  554. package/dist/js/components/InputGroup/InputGroup.d.ts.map +1 -1
  555. package/dist/js/components/InputGroup/InputGroup.js +1 -51
  556. package/dist/js/components/InputGroup/InputGroup.js.map +1 -1
  557. package/dist/js/components/JumpLinks/JumpLinks.js +3 -3
  558. package/dist/js/components/JumpLinks/JumpLinks.js.map +1 -1
  559. package/dist/js/components/Label/Label.d.ts.map +1 -1
  560. package/dist/js/components/Label/Label.js +3 -2
  561. package/dist/js/components/Label/Label.js.map +1 -1
  562. package/dist/js/components/Label/LabelGroup.d.ts +2 -2
  563. package/dist/js/components/Label/LabelGroup.js +1 -1
  564. package/dist/js/components/Label/LabelGroup.js.map +1 -1
  565. package/dist/js/components/LoginPage/LoginForm.js +2 -2
  566. package/dist/js/components/LoginPage/LoginForm.js.map +1 -1
  567. package/dist/js/components/Masthead/Masthead.d.ts +0 -2
  568. package/dist/js/components/Masthead/Masthead.d.ts.map +1 -1
  569. package/dist/js/components/Masthead/Masthead.js +3 -3
  570. package/dist/js/components/Masthead/Masthead.js.map +1 -1
  571. package/dist/js/components/Menu/Menu.d.ts.map +1 -1
  572. package/dist/js/components/Menu/Menu.js +8 -5
  573. package/dist/js/components/Menu/Menu.js.map +1 -1
  574. package/dist/js/components/Menu/MenuContainer.d.ts +2 -0
  575. package/dist/js/components/Menu/MenuContainer.d.ts.map +1 -1
  576. package/dist/js/components/Menu/MenuContainer.js.map +1 -1
  577. package/dist/js/components/Menu/MenuContent.d.ts +1 -1
  578. package/dist/js/components/Menu/MenuContent.d.ts.map +1 -1
  579. package/dist/js/components/Menu/MenuContent.js +3 -1
  580. package/dist/js/components/Menu/MenuContent.js.map +1 -1
  581. package/dist/js/components/Menu/MenuGroup.d.ts +1 -1
  582. package/dist/js/components/Menu/MenuGroup.d.ts.map +1 -1
  583. package/dist/js/components/Menu/MenuItem.d.ts +1 -1
  584. package/dist/js/components/Menu/MenuItem.d.ts.map +1 -1
  585. package/dist/js/components/Menu/MenuItem.js +7 -7
  586. package/dist/js/components/Menu/MenuItem.js.map +1 -1
  587. package/dist/js/components/Menu/MenuItemAction.js +1 -1
  588. package/dist/js/components/Menu/MenuItemAction.js.map +1 -1
  589. package/dist/js/components/Menu/MenuSearch.d.ts +1 -1
  590. package/dist/js/components/Menu/MenuSearch.d.ts.map +1 -1
  591. package/dist/js/components/Menu/MenuSearchInput.d.ts +1 -1
  592. package/dist/js/components/Menu/MenuSearchInput.d.ts.map +1 -1
  593. package/dist/js/components/Menu/MenuSearchInput.js +2 -1
  594. package/dist/js/components/Menu/MenuSearchInput.js.map +1 -1
  595. package/dist/js/components/MenuToggle/MenuToggle.js +1 -1
  596. package/dist/js/components/MenuToggle/MenuToggle.js.map +1 -1
  597. package/dist/js/components/MenuToggle/MenuToggleAction.d.ts +1 -1
  598. package/dist/js/components/MenuToggle/MenuToggleCheckbox.d.ts +1 -1
  599. package/dist/js/components/Modal/ModalBox.js +1 -1
  600. package/dist/js/components/Modal/ModalBox.js.map +1 -1
  601. package/dist/js/components/Modal/ModalBoxCloseButton.js +1 -1
  602. package/dist/js/components/Modal/ModalBoxCloseButton.js.map +1 -1
  603. package/dist/js/components/Modal/ModalBoxHeader.js +1 -1
  604. package/dist/js/components/Modal/ModalBoxHeader.js.map +1 -1
  605. package/dist/js/components/Modal/ModalBoxTitle.js +5 -5
  606. package/dist/js/components/Modal/ModalBoxTitle.js.map +1 -1
  607. package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatus.js +4 -4
  608. package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatus.js.map +1 -1
  609. package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatusItem.js +2 -2
  610. package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatusItem.js.map +1 -1
  611. package/dist/js/components/Nav/Nav.d.ts +1 -1
  612. package/dist/js/components/Nav/NavExpandable.d.ts +4 -4
  613. package/dist/js/components/Nav/NavExpandable.d.ts.map +1 -1
  614. package/dist/js/components/Nav/NavExpandable.js +3 -3
  615. package/dist/js/components/Nav/NavExpandable.js.map +1 -1
  616. package/dist/js/components/Nav/NavItem.d.ts +2 -0
  617. package/dist/js/components/Nav/NavItem.d.ts.map +1 -1
  618. package/dist/js/components/Nav/NavItem.js +3 -3
  619. package/dist/js/components/Nav/NavItem.js.map +1 -1
  620. package/dist/js/components/Nav/NavList.d.ts +1 -1
  621. package/dist/js/components/Nav/NavList.js +4 -4
  622. package/dist/js/components/Nav/NavList.js.map +1 -1
  623. package/dist/js/components/NotificationBadge/NotificationBadge.js +3 -3
  624. package/dist/js/components/NotificationBadge/NotificationBadge.js.map +1 -1
  625. package/dist/js/components/NotificationDrawer/NotificationDrawer.d.ts +1 -1
  626. package/dist/js/components/NotificationDrawer/NotificationDrawer.d.ts.map +1 -1
  627. package/dist/js/components/NotificationDrawer/NotificationDrawerGroup.js +3 -3
  628. package/dist/js/components/NotificationDrawer/NotificationDrawerGroup.js.map +1 -1
  629. package/dist/js/components/NotificationDrawer/NotificationDrawerHeader.js +1 -1
  630. package/dist/js/components/NotificationDrawer/NotificationDrawerHeader.js.map +1 -1
  631. package/dist/js/components/NotificationDrawer/NotificationDrawerList.d.ts.map +1 -1
  632. package/dist/js/components/NotificationDrawer/NotificationDrawerList.js +2 -1
  633. package/dist/js/components/NotificationDrawer/NotificationDrawerList.js.map +1 -1
  634. package/dist/js/components/NotificationDrawer/NotificationDrawerListItem.d.ts.map +1 -1
  635. package/dist/js/components/NotificationDrawer/NotificationDrawerListItem.js +1 -1
  636. package/dist/js/components/NotificationDrawer/NotificationDrawerListItem.js.map +1 -1
  637. package/dist/js/components/NotificationDrawer/NotificationDrawerListItemHeader.js +6 -6
  638. package/dist/js/components/NotificationDrawer/NotificationDrawerListItemHeader.js.map +1 -1
  639. package/dist/js/components/NumberInput/NumberInput.d.ts.map +1 -1
  640. package/dist/js/components/NumberInput/NumberInput.js +4 -3
  641. package/dist/js/components/NumberInput/NumberInput.js.map +1 -1
  642. package/dist/js/components/OverflowMenu/OverflowMenu.d.ts +1 -1
  643. package/dist/js/components/Page/Page.d.ts +1 -1
  644. package/dist/js/components/Page/Page.js +1 -1
  645. package/dist/js/components/Page/Page.js.map +1 -1
  646. package/dist/js/components/Page/PageBreadcrumb.d.ts +1 -1
  647. package/dist/js/components/Page/PageGroup.d.ts +1 -1
  648. package/dist/js/components/Page/PageNavigation.d.ts +1 -1
  649. package/dist/js/components/Page/PageSection.d.ts +2 -5
  650. package/dist/js/components/Page/PageSection.d.ts.map +1 -1
  651. package/dist/js/components/Page/PageSection.js +1 -7
  652. package/dist/js/components/Page/PageSection.js.map +1 -1
  653. package/dist/js/components/Page/PageSidebar.d.ts +0 -2
  654. package/dist/js/components/Page/PageSidebar.d.ts.map +1 -1
  655. package/dist/js/components/Page/PageSidebar.js +2 -2
  656. package/dist/js/components/Page/PageSidebar.js.map +1 -1
  657. package/dist/js/components/Pagination/Navigation.d.ts +1 -1
  658. package/dist/js/components/Pagination/Navigation.js +4 -4
  659. package/dist/js/components/Pagination/Navigation.js.map +1 -1
  660. package/dist/js/components/Pagination/Pagination.js +1 -1
  661. package/dist/js/components/Pagination/Pagination.js.map +1 -1
  662. package/dist/js/components/Panel/Panel.d.ts +1 -1
  663. package/dist/js/components/Panel/Panel.d.ts.map +1 -1
  664. package/dist/js/components/Panel/PanelMain.d.ts.map +1 -1
  665. package/dist/js/components/Panel/PanelMain.js +2 -1
  666. package/dist/js/components/Panel/PanelMain.js.map +1 -1
  667. package/dist/js/components/Popover/Popover.js +2 -2
  668. package/dist/js/components/Popover/Popover.js.map +1 -1
  669. package/dist/js/components/Popover/PopoverCloseButton.js +1 -1
  670. package/dist/js/components/Popover/PopoverCloseButton.js.map +1 -1
  671. package/dist/js/components/Progress/Progress.d.ts +1 -1
  672. package/dist/js/components/Progress/ProgressContainer.js +3 -3
  673. package/dist/js/components/Progress/ProgressContainer.js.map +1 -1
  674. package/dist/js/components/ProgressStepper/ProgressStep.js +4 -4
  675. package/dist/js/components/ProgressStepper/ProgressStep.js.map +1 -1
  676. package/dist/js/components/Radio/Radio.d.ts +1 -1
  677. package/dist/js/components/SearchInput/SearchInput.d.ts +2 -0
  678. package/dist/js/components/SearchInput/SearchInput.d.ts.map +1 -1
  679. package/dist/js/components/SearchInput/SearchInput.js +10 -9
  680. package/dist/js/components/SearchInput/SearchInput.js.map +1 -1
  681. package/dist/js/components/Select/Select.d.ts +2 -0
  682. package/dist/js/components/Select/Select.d.ts.map +1 -1
  683. package/dist/js/components/Select/Select.js.map +1 -1
  684. package/dist/js/components/SimpleList/SimpleList.d.ts +1 -1
  685. package/dist/js/components/SimpleList/SimpleListItem.d.ts +1 -1
  686. package/dist/js/components/Skeleton/Skeleton.d.ts.map +1 -1
  687. package/dist/js/components/Skeleton/Skeleton.js +3 -1
  688. package/dist/js/components/Skeleton/Skeleton.js.map +1 -1
  689. package/dist/js/components/Slider/Slider.d.ts.map +1 -1
  690. package/dist/js/components/Slider/Slider.js +10 -7
  691. package/dist/js/components/Slider/Slider.js.map +1 -1
  692. package/dist/js/components/Slider/SliderStep.js +1 -1
  693. package/dist/js/components/Slider/SliderStep.js.map +1 -1
  694. package/dist/js/components/Spinner/Spinner.d.ts.map +1 -1
  695. package/dist/js/components/Spinner/Spinner.js +2 -1
  696. package/dist/js/components/Spinner/Spinner.js.map +1 -1
  697. package/dist/js/components/Switch/Switch.d.ts +1 -1
  698. package/dist/js/components/Switch/Switch.js +1 -1
  699. package/dist/js/components/Switch/Switch.js.map +1 -1
  700. package/dist/js/components/Tabs/OverflowTab.js +2 -2
  701. package/dist/js/components/Tabs/OverflowTab.js.map +1 -1
  702. package/dist/js/components/Tabs/Tab.d.ts +1 -1
  703. package/dist/js/components/Tabs/Tab.d.ts.map +1 -1
  704. package/dist/js/components/Tabs/Tab.js +1 -1
  705. package/dist/js/components/Tabs/Tab.js.map +1 -1
  706. package/dist/js/components/Tabs/Tabs.d.ts +1 -1
  707. package/dist/js/components/Tabs/Tabs.js +5 -5
  708. package/dist/js/components/Tabs/Tabs.js.map +1 -1
  709. package/dist/js/components/TextInput/TextInput.d.ts +1 -1
  710. package/dist/js/components/TextInputGroup/TextInputGroupMain.d.ts +1 -1
  711. package/dist/js/components/TextInputGroup/TextInputGroupMain.d.ts.map +1 -1
  712. package/dist/js/components/TimePicker/TimePicker.d.ts +1 -1
  713. package/dist/js/components/TimePicker/TimePicker.d.ts.map +1 -1
  714. package/dist/js/components/TimePicker/TimePicker.js +3 -2
  715. package/dist/js/components/TimePicker/TimePicker.js.map +1 -1
  716. package/dist/js/components/Timestamp/Timestamp.js +1 -1
  717. package/dist/js/components/Timestamp/Timestamp.js.map +1 -1
  718. package/dist/js/components/Toolbar/Toolbar.d.ts +2 -2
  719. package/dist/js/components/Toolbar/Toolbar.d.ts.map +1 -1
  720. package/dist/js/components/Toolbar/ToolbarChipGroupContent.d.ts +1 -1
  721. package/dist/js/components/Toolbar/ToolbarContent.d.ts +1 -1
  722. package/dist/js/components/Toolbar/ToolbarExpandableContent.d.ts +1 -1
  723. package/dist/js/components/Toolbar/ToolbarFilter.d.ts +1 -1
  724. package/dist/js/components/Toolbar/ToolbarItem.d.ts.map +1 -1
  725. package/dist/js/components/Toolbar/ToolbarItem.js +2 -1
  726. package/dist/js/components/Toolbar/ToolbarItem.js.map +1 -1
  727. package/dist/js/components/Toolbar/ToolbarToggleGroup.d.ts +1 -1
  728. package/dist/js/components/Toolbar/ToolbarToggleGroup.js +1 -1
  729. package/dist/js/components/Toolbar/ToolbarToggleGroup.js.map +1 -1
  730. package/dist/js/components/Toolbar/ToolbarUtils.js +4 -4
  731. package/dist/js/components/Toolbar/ToolbarUtils.js.map +1 -1
  732. package/dist/js/components/Tooltip/Tooltip.js +1 -1
  733. package/dist/js/components/Tooltip/Tooltip.js.map +1 -1
  734. package/dist/js/components/TreeView/TreeViewList.d.ts.map +1 -1
  735. package/dist/js/components/TreeView/TreeViewList.js +2 -1
  736. package/dist/js/components/TreeView/TreeViewList.js.map +1 -1
  737. package/dist/js/components/TreeView/TreeViewListItem.js +1 -1
  738. package/dist/js/components/TreeView/TreeViewListItem.js.map +1 -1
  739. package/dist/js/components/TreeView/TreeViewRoot.d.ts +1 -1
  740. package/dist/js/components/TreeView/TreeViewRoot.d.ts.map +1 -1
  741. package/dist/js/components/TreeView/TreeViewRoot.js +7 -7
  742. package/dist/js/components/TreeView/TreeViewRoot.js.map +1 -1
  743. package/dist/js/components/TreeView/TreeViewSearch.js +1 -1
  744. package/dist/js/components/TreeView/TreeViewSearch.js.map +1 -1
  745. package/dist/js/components/Wizard/Wizard.d.ts +3 -1
  746. package/dist/js/components/Wizard/Wizard.d.ts.map +1 -1
  747. package/dist/js/components/Wizard/Wizard.js +5 -5
  748. package/dist/js/components/Wizard/Wizard.js.map +1 -1
  749. package/dist/js/components/Wizard/WizardBody.d.ts +1 -1
  750. package/dist/js/components/Wizard/WizardFooter.d.ts +2 -2
  751. package/dist/js/components/Wizard/WizardHeader.js +1 -1
  752. package/dist/js/components/Wizard/WizardHeader.js.map +1 -1
  753. package/dist/js/components/Wizard/WizardNavInternal.d.ts +4 -3
  754. package/dist/js/components/Wizard/WizardNavInternal.d.ts.map +1 -1
  755. package/dist/js/components/Wizard/WizardNavInternal.js +2 -2
  756. package/dist/js/components/Wizard/WizardNavInternal.js.map +1 -1
  757. package/dist/js/components/Wizard/WizardNavItem.d.ts +1 -1
  758. package/dist/js/components/Wizard/WizardNavItem.d.ts.map +1 -1
  759. package/dist/js/components/Wizard/WizardNavItem.js +6 -4
  760. package/dist/js/components/Wizard/WizardNavItem.js.map +1 -1
  761. package/dist/js/components/Wizard/WizardStep.d.ts +1 -1
  762. package/dist/js/components/Wizard/WizardToggle.d.ts +1 -1
  763. package/dist/js/components/Wizard/WizardToggle.js +2 -2
  764. package/dist/js/components/Wizard/WizardToggle.js.map +1 -1
  765. package/dist/js/demos/DashboardHeader.d.ts +8 -0
  766. package/dist/js/demos/DashboardHeader.d.ts.map +1 -0
  767. package/dist/js/demos/DashboardHeader.js +82 -0
  768. package/dist/js/demos/DashboardHeader.js.map +1 -0
  769. package/dist/js/demos/DashboardWrapper.d.ts +14 -0
  770. package/dist/js/demos/DashboardWrapper.d.ts.map +1 -0
  771. package/dist/js/demos/DashboardWrapper.js +45 -0
  772. package/dist/js/demos/DashboardWrapper.js.map +1 -0
  773. package/dist/js/demos/index.d.ts +3 -0
  774. package/dist/js/demos/index.d.ts.map +1 -0
  775. package/dist/js/demos/index.js +6 -0
  776. package/dist/js/demos/index.js.map +1 -0
  777. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncher.d.ts +2 -2
  778. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncher.d.ts.map +1 -1
  779. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncher.js +1 -1
  780. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncher.js.map +1 -1
  781. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherContent.js +1 -1
  782. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherContent.js.map +1 -1
  783. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherItem.js +1 -1
  784. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherItem.js.map +1 -1
  785. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherText.d.ts.map +1 -1
  786. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherText.js +2 -1
  787. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherText.js.map +1 -1
  788. package/dist/js/deprecated/components/ContextSelector/ContextSelector.d.ts +1 -1
  789. package/dist/js/deprecated/components/ContextSelector/ContextSelectorItem.d.ts +1 -1
  790. package/dist/js/deprecated/components/ContextSelector/ContextSelectorMenuList.d.ts +1 -1
  791. package/dist/js/deprecated/components/ContextSelector/ContextSelectorMenuList.d.ts.map +1 -1
  792. package/dist/js/deprecated/components/ContextSelector/ContextSelectorToggle.d.ts +1 -1
  793. package/dist/js/deprecated/components/ContextSelector/ContextSelectorToggle.js +1 -1
  794. package/dist/js/deprecated/components/ContextSelector/ContextSelectorToggle.js.map +1 -1
  795. package/dist/js/deprecated/components/Dropdown/BadgeToggle.js +1 -1
  796. package/dist/js/deprecated/components/Dropdown/BadgeToggle.js.map +1 -1
  797. package/dist/js/deprecated/components/Dropdown/DropdownMenu.d.ts +1 -1
  798. package/dist/js/deprecated/components/Dropdown/DropdownToggle.js +1 -1
  799. package/dist/js/deprecated/components/Dropdown/DropdownToggle.js.map +1 -1
  800. package/dist/js/deprecated/components/Dropdown/DropdownToggleAction.d.ts +1 -1
  801. package/dist/js/deprecated/components/Dropdown/DropdownToggleCheckbox.d.ts +1 -1
  802. package/dist/js/deprecated/components/Dropdown/DropdownWithContext.d.ts +1 -1
  803. package/dist/js/deprecated/components/Dropdown/InternalDropdownItem.d.ts +1 -1
  804. package/dist/js/deprecated/components/Dropdown/KebabToggle.js +1 -1
  805. package/dist/js/deprecated/components/Dropdown/KebabToggle.js.map +1 -1
  806. package/dist/js/deprecated/components/Dropdown/Toggle.d.ts +1 -1
  807. package/dist/js/deprecated/components/OptionsMenu/OptionsMenuItem.js +1 -1
  808. package/dist/js/deprecated/components/OptionsMenu/OptionsMenuItem.js.map +1 -1
  809. package/dist/js/deprecated/components/PageHeader/PageHeader.js +1 -1
  810. package/dist/js/deprecated/components/PageHeader/PageHeader.js.map +1 -1
  811. package/dist/js/deprecated/components/PageHeader/PageHeaderToolsItem.d.ts +0 -2
  812. package/dist/js/deprecated/components/PageHeader/PageHeaderToolsItem.d.ts.map +1 -1
  813. package/dist/js/deprecated/components/PageHeader/PageHeaderToolsItem.js +2 -2
  814. package/dist/js/deprecated/components/PageHeader/PageHeaderToolsItem.js.map +1 -1
  815. package/dist/js/deprecated/components/Select/Select.d.ts +1 -1
  816. package/dist/js/deprecated/components/Select/Select.js +4 -4
  817. package/dist/js/deprecated/components/Select/Select.js.map +1 -1
  818. package/dist/js/deprecated/components/Select/SelectMenu.js +1 -1
  819. package/dist/js/deprecated/components/Select/SelectMenu.js.map +1 -1
  820. package/dist/js/deprecated/components/Select/SelectOption.d.ts +1 -1
  821. package/dist/js/deprecated/components/Select/SelectOption.js +2 -2
  822. package/dist/js/deprecated/components/Select/SelectOption.js.map +1 -1
  823. package/dist/js/deprecated/components/Select/SelectToggle.js +1 -1
  824. package/dist/js/deprecated/components/Select/SelectToggle.js.map +1 -1
  825. package/dist/js/deprecated/components/Wizard/Wizard.d.ts +1 -1
  826. package/dist/js/deprecated/components/Wizard/WizardHeader.js +1 -1
  827. package/dist/js/deprecated/components/Wizard/WizardHeader.js.map +1 -1
  828. package/dist/js/deprecated/components/Wizard/WizardNavItem.js +1 -1
  829. package/dist/js/deprecated/components/Wizard/WizardNavItem.js.map +1 -1
  830. package/dist/js/deprecated/components/Wizard/WizardToggle.js +2 -2
  831. package/dist/js/deprecated/components/Wizard/WizardToggle.js.map +1 -1
  832. package/dist/js/helpers/FocusTrap/FocusTrap.d.ts +1 -1
  833. package/dist/js/helpers/FocusTrap/FocusTrap.d.ts.map +1 -1
  834. package/dist/js/helpers/Popper/Popper.d.ts +2 -1
  835. package/dist/js/helpers/Popper/Popper.d.ts.map +1 -1
  836. package/dist/js/helpers/Popper/Popper.js +9 -19
  837. package/dist/js/helpers/Popper/Popper.js.map +1 -1
  838. package/dist/js/helpers/constants.js +10 -10
  839. package/dist/js/helpers/constants.js.map +1 -1
  840. package/dist/js/helpers/datetimeUtils.d.ts +1 -1
  841. package/dist/js/helpers/datetimeUtils.d.ts.map +1 -1
  842. package/dist/js/helpers/datetimeUtils.js.map +1 -1
  843. package/dist/js/helpers/util.d.ts +9 -0
  844. package/dist/js/helpers/util.d.ts.map +1 -1
  845. package/dist/js/helpers/util.js +20 -1
  846. package/dist/js/helpers/util.js.map +1 -1
  847. package/dist/js/index.d.ts +1 -0
  848. package/dist/js/index.d.ts.map +1 -1
  849. package/dist/js/index.js +1 -0
  850. package/dist/js/index.js.map +1 -1
  851. package/dist/js/layouts/Flex/Flex.js +1 -1
  852. package/dist/js/layouts/Flex/Flex.js.map +1 -1
  853. package/dist/js/layouts/Flex/FlexItem.js +1 -1
  854. package/dist/js/layouts/Flex/FlexItem.js.map +1 -1
  855. package/dist/js/layouts/Gallery/Gallery.d.ts.map +1 -1
  856. package/dist/js/layouts/Gallery/Gallery.js +6 -2
  857. package/dist/js/layouts/Gallery/Gallery.js.map +1 -1
  858. package/dist/js/layouts/Grid/Grid.js +1 -1
  859. package/dist/js/layouts/Grid/Grid.js.map +1 -1
  860. package/dist/js/layouts/Grid/GridItem.js +1 -1
  861. package/dist/js/layouts/Grid/GridItem.js.map +1 -1
  862. package/dist/styles/base-no-reset.css +849 -0
  863. package/dist/styles/base.css +861 -13
  864. package/dist/umd/react-core.min.js +3 -3
  865. package/helpers/package.json +1 -1
  866. package/layouts/package.json +1 -1
  867. package/next/package.json +1 -1
  868. package/package.json +7 -6
  869. package/src/components/AboutModal/AboutModalBoxContent.tsx +1 -1
  870. package/src/components/AboutModal/examples/AboutModal.md +1 -0
  871. package/src/components/AboutModal/examples/AboutModalComplexUserPositionedContent.tsx +3 -2
  872. package/src/components/Accordion/__tests__/Accordion.test.tsx +3 -2
  873. package/src/components/Accordion/__tests__/AccordionContent.test.tsx +3 -2
  874. package/src/components/Accordion/__tests__/AccordionExpandedContentBody.test.tsx +3 -2
  875. package/src/components/Accordion/__tests__/AccordionToggle.test.tsx +7 -6
  876. package/src/components/ActionList/ActionListItem.tsx +2 -1
  877. package/src/components/ActionList/__tests__/ActionList.test.tsx +7 -6
  878. package/src/components/ActionList/__tests__/ActionListGroup.test.tsx +3 -2
  879. package/src/components/ActionList/__tests__/ActionListItem.test.tsx +3 -2
  880. package/src/components/Alert/__tests__/Alert.test.tsx +15 -13
  881. package/src/components/Alert/__tests__/AlertIcon.test.tsx +3 -2
  882. package/src/components/Alert/__tests__/AlertToggleExpandButton.test.tsx +3 -2
  883. package/src/components/Alert/examples/Alert.md +143 -103
  884. package/src/components/Alert/examples/AlertDynamicLiveRegion.tsx +2 -1
  885. package/src/components/Alert/examples/AlertGroupAsync.tsx +2 -1
  886. package/src/components/Alert/examples/AlertGroupMultipleDynamic.tsx +2 -1
  887. package/src/components/Alert/examples/AlertGroupSingularDynamic.tsx +2 -1
  888. package/src/components/Alert/examples/AlertGroupSingularDynamicOverflow.tsx +2 -1
  889. package/src/components/Alert/examples/AlertGroupToast.tsx +2 -1
  890. package/src/components/Alert/examples/AlertGroupToastOverflowCapture.tsx +2 -1
  891. package/src/components/Avatar/__tests__/Avatar.test.tsx +2 -1
  892. package/src/components/BackToTop/BackToTop.tsx +8 -6
  893. package/src/components/BackToTop/__tests__/BackToTop.test.tsx +2 -1
  894. package/src/components/Backdrop/__tests__/Backdrop.test.tsx +5 -4
  895. package/src/components/BackgroundImage/BackgroundImage.tsx +2 -1
  896. package/src/components/BackgroundImage/__tests__/BackgroundImage.test.tsx +2 -5
  897. package/src/components/Badge/__tests__/Badge.test.tsx +5 -4
  898. package/src/components/Banner/__tests__/Banner.test.tsx +4 -3
  899. package/src/components/Brand/Brand.tsx +5 -2
  900. package/src/components/Button/__tests__/Button.test.tsx +176 -118
  901. package/src/components/Button/__tests__/__snapshots__/Button.test.tsx.snap +4 -404
  902. package/src/components/Button/examples/Button.md +1 -1
  903. package/src/components/CalendarMonth/CalendarMonth.tsx +18 -43
  904. package/src/components/Checkbox/__tests__/Checkbox.test.tsx +224 -69
  905. package/src/components/Checkbox/__tests__/__snapshots__/Checkbox.test.tsx.snap +3 -198
  906. package/src/components/Chip/Chip.tsx +4 -2
  907. package/src/components/Chip/__tests__/Chip.test.tsx +249 -32
  908. package/src/components/Chip/__tests__/ChipGroup.test.tsx +288 -61
  909. package/src/components/Chip/__tests__/__snapshots__/Chip.test.tsx.snap +9 -209
  910. package/src/components/Chip/__tests__/__snapshots__/ChipGroup.test.tsx.snap +2 -313
  911. package/src/components/ClipboardCopy/ClipboardCopy.tsx +1 -1
  912. package/src/components/ClipboardCopy/ClipboardCopyButton.tsx +2 -0
  913. package/src/components/ClipboardCopy/ClipboardCopyToggle.tsx +1 -1
  914. package/src/components/ClipboardCopy/__tests__/ClipboardCopy.test.tsx +344 -0
  915. package/src/components/ClipboardCopy/__tests__/ClipboardCopyAction.test.tsx +37 -0
  916. package/src/components/ClipboardCopy/__tests__/ClipboardCopyButton.test.tsx +136 -19
  917. package/src/components/ClipboardCopy/__tests__/ClipboardCopyExpanded.test.tsx +71 -14
  918. package/src/components/ClipboardCopy/__tests__/ClipboardCopyToggle.test.tsx +78 -34
  919. package/src/components/ClipboardCopy/__tests__/__snapshots__/ClipboardCopy.test.tsx.snap +57 -0
  920. package/src/components/ClipboardCopy/__tests__/__snapshots__/ClipboardCopyAction.test.tsx.snap +11 -0
  921. package/src/components/ClipboardCopy/__tests__/__snapshots__/ClipboardCopyButton.test.tsx.snap +50 -24
  922. package/src/components/ClipboardCopy/__tests__/__snapshots__/ClipboardCopyExpanded.test.tsx.snap +3 -23
  923. package/src/components/ClipboardCopy/__tests__/__snapshots__/ClipboardCopyToggle.test.tsx.snap +5 -6
  924. package/src/components/CodeBlock/CodeBlockAction.tsx +2 -1
  925. package/src/components/CodeBlock/__tests__/CodeBlock.test.tsx +23 -18
  926. package/src/components/CodeBlock/__tests__/CodeBlockAction.test.tsx +26 -0
  927. package/src/components/CodeBlock/__tests__/CodeBlockCode.test.tsx +36 -0
  928. package/src/components/CodeBlock/__tests__/__snapshots__/CodeBlock.test.tsx.snap +4 -53
  929. package/src/components/CodeBlock/__tests__/__snapshots__/CodeBlockAction.test.tsx.snap +11 -0
  930. package/src/components/CodeBlock/__tests__/__snapshots__/CodeBlockCode.test.tsx.snap +15 -0
  931. package/src/components/DataList/__tests__/DataList.test.tsx +6 -5
  932. package/src/components/DataList/examples/DataList.md +4 -0
  933. package/src/components/DataList/examples/DataListWidthModifiers.tsx +8 -3
  934. package/src/components/DatePicker/DatePicker.tsx +2 -1
  935. package/src/components/DescriptionList/DescriptionList.tsx +6 -3
  936. package/src/components/DragDrop/Draggable.tsx +2 -1
  937. package/src/components/Drawer/DrawerPanelContent.tsx +13 -10
  938. package/src/components/Drawer/examples/Drawer.md +2 -0
  939. package/src/components/Drawer/examples/DrawerStackedContentBodyElements.tsx +4 -3
  940. package/src/components/Drawer/examples/DrawerStatic.tsx +2 -1
  941. package/src/components/Dropdown/Dropdown.tsx +2 -0
  942. package/src/components/DualListSelector/DualListSelectorControl.tsx +2 -1
  943. package/src/components/DualListSelector/DualListSelectorPane.tsx +4 -3
  944. package/src/components/EmptyState/EmptyStateHeader.tsx +2 -2
  945. package/src/components/EmptyState/EmptyStateIcon.tsx +2 -2
  946. package/src/components/EmptyState/__tests__/EmptyState.test.tsx +5 -8
  947. package/src/components/EmptyState/examples/EmptyState.md +1 -0
  948. package/src/components/EmptyState/examples/EmptyStateCustomIconColor.tsx +3 -1
  949. package/src/components/ExpandableSection/ExpandableSection.tsx +1 -1
  950. package/src/components/FileUpload/examples/FileUploadCustomPreview.tsx +2 -1
  951. package/src/components/FileUpload/examples/FileUploadCustomUpload.tsx +2 -1
  952. package/src/components/Form/Form.tsx +2 -1
  953. package/src/components/Form/FormAlert.tsx +2 -1
  954. package/src/components/Form/examples/Form.md +1 -0
  955. package/src/components/Form/examples/FormBasic.tsx +2 -1
  956. package/src/components/Form/examples/FormGroupLabelInfo.tsx +2 -1
  957. package/src/components/Form/examples/FormLimitWidth.tsx +2 -1
  958. package/src/components/Hint/__tests__/Hint.test.tsx +5 -4
  959. package/src/components/Hint/__tests__/HintBody.test.tsx +3 -2
  960. package/src/components/Hint/__tests__/HintFooter.test.tsx +3 -2
  961. package/src/components/Hint/__tests__/HintTitle.test.tsx +3 -2
  962. package/src/components/Icon/__tests__/Icon.test.tsx +12 -11
  963. package/src/components/InputGroup/InputGroup.tsx +1 -53
  964. package/src/components/InputGroup/__tests__/InputGroup.test.tsx +7 -44
  965. package/src/components/JumpLinks/JumpLinks.tsx +1 -1
  966. package/src/components/Label/Label.tsx +2 -1
  967. package/src/components/Masthead/Masthead.tsx +0 -5
  968. package/src/components/Masthead/examples/Masthead.md +0 -44
  969. package/src/components/Menu/Menu.tsx +8 -5
  970. package/src/components/Menu/MenuContainer.tsx +2 -0
  971. package/src/components/Menu/MenuContent.tsx +4 -2
  972. package/src/components/Menu/MenuSearchInput.tsx +2 -1
  973. package/src/components/Menu/__mocks__/Menu.tsx +2 -1
  974. package/src/components/MenuToggle/examples/MenuToggle.css +3 -2
  975. package/src/components/Modal/ModalBoxHeader.tsx +1 -1
  976. package/src/components/Modal/examples/Modal.md +2 -0
  977. package/src/components/Modal/examples/ModalCustomHeaderFooter.tsx +3 -2
  978. package/src/components/Modal/examples/ModalWithForm.tsx +4 -3
  979. package/src/components/MultipleFileUpload/MultipleFileUploadStatus.tsx +1 -1
  980. package/src/components/MultipleFileUpload/examples/MultipleFileUploadBasic.tsx +2 -1
  981. package/src/components/Nav/NavExpandable.tsx +5 -5
  982. package/src/components/Nav/NavItem.tsx +4 -1
  983. package/src/components/Nav/NavList.tsx +3 -3
  984. package/src/components/Nav/examples/Nav.md +8 -0
  985. package/src/components/Nav/examples/NavExpandableThirdLevel.tsx +1 -1
  986. package/src/components/Nav/examples/NavLinkText.tsx +109 -0
  987. package/src/components/Nav/examples/nav.css +1 -0
  988. package/src/components/NotificationBadge/NotificationBadge.tsx +1 -1
  989. package/src/components/NotificationDrawer/NotificationDrawerGroup.tsx +1 -1
  990. package/src/components/NotificationDrawer/NotificationDrawerList.tsx +2 -1
  991. package/src/components/NotificationDrawer/NotificationDrawerListItem.tsx +1 -3
  992. package/src/components/NumberInput/NumberInput.tsx +2 -1
  993. package/src/components/NumberInput/__tests__/NumberInput.test.tsx +0 -1
  994. package/src/components/Page/PageSection.tsx +3 -9
  995. package/src/components/Page/PageSidebar.tsx +0 -4
  996. package/src/components/Page/__tests__/Generated/PageSidebar.test.tsx +1 -1
  997. package/src/components/Page/__tests__/Page.test.tsx +1 -40
  998. package/src/components/Page/__tests__/PageSidebarBody.test.tsx +15 -14
  999. package/src/components/Page/__tests__/__snapshots__/Page.test.tsx.snap +0 -195
  1000. package/src/components/Page/examples/Page.md +1 -0
  1001. package/src/components/Page/examples/PageCenteredSection.tsx +3 -2
  1002. package/src/components/Page/examples/PageGroupSection.tsx +3 -4
  1003. package/src/components/Page/examples/PageHorizontalNav.tsx +3 -4
  1004. package/src/components/Page/examples/PageMainSectionPadding.tsx +2 -7
  1005. package/src/components/Page/examples/PageMultipleSidebarBody.tsx +3 -4
  1006. package/src/components/Page/examples/PageTertiaryNav.tsx +3 -4
  1007. package/src/components/Page/examples/PageUncontrolledNav.tsx +3 -4
  1008. package/src/components/Page/examples/PageVerticalNav.tsx +3 -4
  1009. package/src/components/Panel/PanelMain.tsx +2 -1
  1010. package/src/components/Panel/__tests__/Panel.test.tsx +11 -10
  1011. package/src/components/Panel/__tests__/PanelFooter.test.tsx +5 -4
  1012. package/src/components/Panel/__tests__/PanelHeader.test.tsx +5 -4
  1013. package/src/components/Panel/__tests__/PanelMain.test.tsx +7 -5
  1014. package/src/components/Panel/__tests__/PanelMainBody.test.tsx +5 -4
  1015. package/src/components/Progress/__tests__/ProgressHelperText.test.tsx +3 -2
  1016. package/src/components/ProgressStepper/__tests__/ProgressStep.test.tsx +10 -9
  1017. package/src/components/ProgressStepper/__tests__/ProgressStepper.test.tsx +5 -4
  1018. package/src/components/SearchInput/SearchInput.tsx +7 -2
  1019. package/src/components/SearchInput/__tests__/SearchInput.test.tsx +13 -3
  1020. package/src/components/Select/Select.tsx +2 -0
  1021. package/src/components/Sidebar/__tests__/Sidebar.test.tsx +7 -6
  1022. package/src/components/Sidebar/__tests__/SidebarContent.test.tsx +5 -4
  1023. package/src/components/Sidebar/__tests__/SidebarPanel.test.tsx +5 -4
  1024. package/src/components/Skeleton/Skeleton.tsx +4 -2
  1025. package/src/components/Skeleton/examples/Skeleton.md +8 -0
  1026. package/src/components/Skeleton/examples/SkeletonText.tsx +15 -7
  1027. package/src/components/Slider/Slider.tsx +10 -7
  1028. package/src/components/Spinner/Spinner.tsx +2 -1
  1029. package/src/components/Tabs/OverflowTab.tsx +1 -1
  1030. package/src/components/Tabs/Tabs.tsx +3 -3
  1031. package/src/components/Tabs/__tests__/OverflowTab.test.tsx +9 -8
  1032. package/src/components/Text/__tests__/TextContent.test.tsx +3 -2
  1033. package/src/components/Text/examples/Text.md +13 -0
  1034. package/src/components/TextArea/__tests__/TextArea.test.tsx +2 -1
  1035. package/src/components/TextInputGroup/__tests__/TextInputGroup.test.tsx +3 -2
  1036. package/src/components/TextInputGroup/__tests__/TextInputGroupMain.test.tsx +10 -9
  1037. package/src/components/TextInputGroup/__tests__/TextInputGroupUtilities.test.tsx +3 -3
  1038. package/src/components/TextInputGroup/examples/TextInputGroupBasic.tsx +8 -5
  1039. package/src/components/TimePicker/TimePicker.tsx +3 -1
  1040. package/src/components/Timestamp/Timestamp.tsx +1 -1
  1041. package/src/components/Timestamp/__tests__/Timestamp.test.tsx +5 -4
  1042. package/src/components/Title/__tests__/Title.test.tsx +5 -4
  1043. package/src/components/Toolbar/ToolbarItem.tsx +2 -1
  1044. package/src/components/TreeView/TreeViewList.tsx +2 -1
  1045. package/src/components/TreeView/TreeViewRoot.tsx +7 -11
  1046. package/src/components/Truncate/__tests__/Truncate.test.tsx +10 -9
  1047. package/src/components/Truncate/examples/Truncate.md +8 -5
  1048. package/src/components/Truncate/examples/TruncateExamples.css +1 -1
  1049. package/src/components/Wizard/Wizard.tsx +13 -3
  1050. package/src/components/Wizard/WizardNavInternal.tsx +10 -3
  1051. package/src/components/Wizard/WizardNavItem.tsx +4 -2
  1052. package/src/components/Wizard/__tests__/Wizard.test.tsx +12 -0
  1053. package/src/components/Wizard/examples/Wizard.md +4 -2
  1054. package/src/components/Wizard/examples/WizardStepDrawerContent.tsx +2 -1
  1055. package/src/components/Wizard/examples/WizardValidateOnButtonPress.tsx +2 -1
  1056. package/src/components/Wizard/examples/WizardWithCustomNavItem.tsx +1 -1
  1057. package/src/components/Wizard/examples/WizardWithSubmitProgress.tsx +2 -1
  1058. package/src/demos/AlertGroup.md +0 -2
  1059. package/src/demos/BackToTop.md +0 -2
  1060. package/src/demos/Banner.md +23 -19
  1061. package/src/demos/CardDemos.md +25 -2911
  1062. package/src/demos/{Card/Card.md → CardView/CardView.md} +1 -2
  1063. package/src/demos/{Card → CardView}/examples/CardView.tsx +4 -10
  1064. package/src/demos/CustomMenus/CustomMenus.md +1 -0
  1065. package/src/demos/CustomMenus/examples/ComposableDateSelect.tsx +5 -4
  1066. package/src/demos/CustomMenus/examples/DateSelectDemo.tsx +5 -4
  1067. package/src/demos/DashboardHeader.tsx +198 -0
  1068. package/src/demos/DashboardWrapper.tsx +128 -0
  1069. package/src/demos/JumpLinks.md +5 -4
  1070. package/src/demos/Nav.md +10 -1675
  1071. package/src/demos/NotificationDrawer/examples/NotificationDrawerBasic.tsx +2 -3
  1072. package/src/demos/NotificationDrawer/examples/NotificationDrawerGrouped.tsx +2 -3
  1073. package/src/demos/PasswordStrength.md +1 -0
  1074. package/src/demos/PrimaryDetail.md +9 -13
  1075. package/src/demos/ProgressDemo.md +2 -2
  1076. package/src/demos/Tabs.md +14 -13
  1077. package/src/demos/Toolbar.md +1 -553
  1078. package/src/demos/Wizard/WizardDemo.md +6 -762
  1079. package/src/demos/examples/AlertGroup/AlertGroupToastWithNotificationDrawer.tsx +6 -7
  1080. package/src/demos/examples/BackToTop/BackToTopNameDemo.tsx +2 -3
  1081. package/src/demos/examples/Card/CardAggregateStatus.tsx +249 -0
  1082. package/src/demos/examples/Card/CardDetails.tsx +95 -0
  1083. package/src/demos/examples/Card/CardEventsView.tsx +154 -0
  1084. package/src/demos/examples/Card/CardHorizontalGrid.tsx +240 -0
  1085. package/src/demos/examples/Card/CardHorizontalSplit.tsx +30 -0
  1086. package/src/demos/examples/Card/CardLogView.tsx +118 -0
  1087. package/src/demos/examples/Card/CardNested.tsx +532 -0
  1088. package/src/demos/examples/Card/CardStatus.tsx +262 -0
  1089. package/src/demos/examples/Card/CardStatusTabbed.tsx +113 -0
  1090. package/src/demos/examples/Card/CardTrendDemo1.tsx +106 -0
  1091. package/src/demos/examples/Card/CardTrendDemo2.tsx +76 -0
  1092. package/src/demos/examples/Card/CardUtilizationDemo1.tsx +109 -0
  1093. package/src/demos/examples/Card/CardUtilizationDemo2.tsx +103 -0
  1094. package/src/demos/examples/Card/CardUtilizationDemo3.tsx +174 -0
  1095. package/src/demos/examples/Card/CardUtilizationDemo4.tsx +50 -0
  1096. package/src/demos/examples/Card/CardWithAccordion.tsx +514 -0
  1097. package/src/demos/examples/DashboardWrapper.js +1 -1
  1098. package/src/demos/examples/JumpLinks/JumpLinksWithDrawer.js +6 -6
  1099. package/src/demos/examples/Masthead/MastheadWithUtilitiesAndUserDropdownMenu.tsx +1 -2
  1100. package/src/demos/examples/Nav/NavDefault.tsx +97 -0
  1101. package/src/demos/examples/Nav/NavDrilldown.tsx +2 -2
  1102. package/src/demos/examples/Nav/NavExpandable.tsx +123 -0
  1103. package/src/demos/examples/Nav/NavFlyout.tsx +277 -0
  1104. package/src/demos/examples/Nav/NavGrouped.tsx +98 -0
  1105. package/src/demos/examples/Nav/NavHorizontal.tsx +236 -0
  1106. package/src/demos/examples/Nav/NavHorizontalWithSubnav.tsx +296 -0
  1107. package/src/demos/examples/Nav/NavManual.tsx +272 -0
  1108. package/src/demos/examples/Nav/NavWithSubnav.tsx +141 -0
  1109. package/src/demos/examples/Nav/deprecated/NavLight.tsx +95 -0
  1110. package/src/demos/examples/Nav/deprecated/NavTertiary.tsx +91 -0
  1111. package/src/demos/examples/Page/PageStickySectionBreadcrumb.tsx +1 -2
  1112. package/src/demos/examples/Page/PageStickySectionGroup.tsx +1 -2
  1113. package/src/demos/examples/Page/PageStickySectionGroupAlternate.tsx +1 -2
  1114. package/src/demos/examples/PrimaryDetail/PrimaryDetailContentPadding.tsx +2 -3
  1115. package/src/demos/examples/PrimaryDetail/PrimaryDetailFullPage.tsx +3 -4
  1116. package/src/demos/examples/PrimaryDetail/PrimaryDetailInlineModifier.tsx +3 -4
  1117. package/src/demos/examples/Tabs/ModalTabs.tsx +2 -3
  1118. package/src/demos/examples/Tabs/NestedTabs.tsx +3 -2
  1119. package/src/demos/examples/Tabs/NestedUnindentedTabs.tsx +3 -3
  1120. package/src/demos/examples/Tabs/TabsAndTable.tsx +5 -5
  1121. package/src/demos/examples/Toolbar/ConsoleLogViewerToolbar.tsx +492 -0
  1122. package/src/demos/examples/Wizard/InModal.tsx +75 -0
  1123. package/src/demos/examples/Wizard/InModalWithDrawer.tsx +115 -0
  1124. package/src/demos/examples/Wizard/InModalWithDrawerInformationalStep.tsx +122 -0
  1125. package/src/demos/examples/Wizard/InPage.tsx +35 -0
  1126. package/src/demos/examples/Wizard/InPageWithDrawer.tsx +195 -0
  1127. package/src/demos/examples/Wizard/InPageWithDrawerInformationalStep.tsx +200 -0
  1128. package/src/demos/index.ts +2 -0
  1129. package/src/deprecated/components/ApplicationLauncher/ApplicationLauncherText.tsx +2 -1
  1130. package/src/deprecated/components/ApplicationLauncher/examples/ApplicationLauncherRouterLink.tsx +3 -1
  1131. package/src/deprecated/components/PageHeader/PageHeaderToolsItem.tsx +0 -4
  1132. package/src/deprecated/components/PageHeader/examples/PageVerticalNavUsingPageHeaderComponent.tsx +4 -4
  1133. package/src/deprecated/components/PageHeader/tests/PageHeaderToolsItem.test.tsx +1 -3
  1134. package/src/deprecated/components/PageHeader/tests/__snapshots__/PageHeaderToolsItem.test.tsx.snap +1 -1
  1135. package/src/deprecated/components/Select/SelectMenu.tsx +1 -1
  1136. package/src/deprecated/components/Wizard/examples/WizardFinished.tsx +2 -1
  1137. package/src/deprecated/components/Wizard/examples/WizardValidateOnButtonPress.tsx +2 -1
  1138. package/src/helpers/Popper/Popper.tsx +10 -19
  1139. package/src/helpers/__mocks__/util.ts +2 -0
  1140. package/src/helpers/datetimeUtils.ts +1 -1
  1141. package/src/helpers/util.ts +22 -0
  1142. package/src/index.ts +1 -0
  1143. package/src/layouts/Flex/__tests__/Flex.test.tsx +2 -1
  1144. package/src/layouts/Gallery/Gallery.tsx +6 -6
  1145. package/src/components/ClipboardCopy/__tests__/Generated/ClipboardCopy.test.tsx +0 -40
  1146. package/src/components/ClipboardCopy/__tests__/Generated/__snapshots__/ClipboardCopy.test.tsx.snap +0 -55
  1147. package/src/demos/examples/DashboardHeader.js +0 -220
  1148. /package/src/demos/{Card/examples/CardData.jsx → CardView/examples/CardViewData.jsx} +0 -0
  1149. /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
  ```