@patternfly/react-core 5.0.0-alpha.86 → 5.0.0-alpha.88

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 (301) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/esm/components/AboutModal/package.json +1 -1
  3. package/dist/esm/components/Accordion/package.json +1 -1
  4. package/dist/esm/components/ActionList/package.json +1 -1
  5. package/dist/esm/components/Alert/package.json +1 -1
  6. package/dist/esm/components/Avatar/package.json +1 -1
  7. package/dist/esm/components/BackToTop/package.json +1 -1
  8. package/dist/esm/components/Backdrop/package.json +1 -1
  9. package/dist/esm/components/BackgroundImage/package.json +1 -1
  10. package/dist/esm/components/Badge/package.json +1 -1
  11. package/dist/esm/components/Banner/package.json +1 -1
  12. package/dist/esm/components/Brand/package.json +1 -1
  13. package/dist/esm/components/Breadcrumb/package.json +1 -1
  14. package/dist/esm/components/Button/package.json +1 -1
  15. package/dist/esm/components/CalendarMonth/package.json +1 -1
  16. package/dist/esm/components/Card/package.json +1 -1
  17. package/dist/esm/components/Checkbox/package.json +1 -1
  18. package/dist/esm/components/Chip/package.json +1 -1
  19. package/dist/esm/components/ClipboardCopy/package.json +1 -1
  20. package/dist/esm/components/CodeBlock/package.json +1 -1
  21. package/dist/esm/components/DataList/package.json +1 -1
  22. package/dist/esm/components/DatePicker/package.json +1 -1
  23. package/dist/esm/components/DescriptionList/package.json +1 -1
  24. package/dist/esm/components/Divider/package.json +1 -1
  25. package/dist/esm/components/DragDrop/package.json +1 -1
  26. package/dist/esm/components/Drawer/package.json +1 -1
  27. package/dist/esm/components/Dropdown/Dropdown.d.ts.map +1 -1
  28. package/dist/esm/components/Dropdown/Dropdown.js +2 -4
  29. package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
  30. package/dist/esm/components/Dropdown/package.json +1 -1
  31. package/dist/esm/components/DualListSelector/package.json +1 -1
  32. package/dist/esm/components/EmptyState/package.json +1 -1
  33. package/dist/esm/components/ExpandableSection/package.json +1 -1
  34. package/dist/esm/components/FileUpload/package.json +1 -1
  35. package/dist/esm/components/Form/package.json +1 -1
  36. package/dist/esm/components/FormSelect/package.json +1 -1
  37. package/dist/esm/components/HelperText/package.json +1 -1
  38. package/dist/esm/components/Hint/package.json +1 -1
  39. package/dist/esm/components/Icon/package.json +1 -1
  40. package/dist/esm/components/InputGroup/package.json +1 -1
  41. package/dist/esm/components/JumpLinks/package.json +1 -1
  42. package/dist/esm/components/Label/package.json +1 -1
  43. package/dist/esm/components/LabelGroup/package.json +1 -1
  44. package/dist/esm/components/List/package.json +1 -1
  45. package/dist/esm/components/LoginPage/package.json +1 -1
  46. package/dist/esm/components/Masthead/package.json +1 -1
  47. package/dist/esm/components/Menu/package.json +1 -1
  48. package/dist/esm/components/MenuToggle/MenuToggle.d.ts +3 -1
  49. package/dist/esm/components/MenuToggle/MenuToggle.d.ts.map +1 -1
  50. package/dist/esm/components/MenuToggle/MenuToggle.js +1 -3
  51. package/dist/esm/components/MenuToggle/MenuToggle.js.map +1 -1
  52. package/dist/esm/components/MenuToggle/package.json +1 -1
  53. package/dist/esm/components/Modal/package.json +1 -1
  54. package/dist/esm/components/MultipleFileUpload/package.json +1 -1
  55. package/dist/esm/components/Nav/package.json +1 -1
  56. package/dist/esm/components/NotificationBadge/package.json +1 -1
  57. package/dist/esm/components/NotificationDrawer/package.json +1 -1
  58. package/dist/esm/components/NumberInput/package.json +1 -1
  59. package/dist/esm/components/OverflowMenu/package.json +1 -1
  60. package/dist/esm/components/Page/package.json +1 -1
  61. package/dist/esm/components/Pagination/package.json +1 -1
  62. package/dist/esm/components/Panel/package.json +1 -1
  63. package/dist/esm/components/Popover/package.json +1 -1
  64. package/dist/esm/components/Progress/package.json +1 -1
  65. package/dist/esm/components/ProgressStepper/package.json +1 -1
  66. package/dist/esm/components/Radio/package.json +1 -1
  67. package/dist/esm/components/SearchInput/package.json +1 -1
  68. package/dist/esm/components/Select/package.json +1 -1
  69. package/dist/esm/components/Sidebar/package.json +1 -1
  70. package/dist/esm/components/SimpleList/package.json +1 -1
  71. package/dist/esm/components/Skeleton/package.json +1 -1
  72. package/dist/esm/components/SkipToContent/package.json +1 -1
  73. package/dist/esm/components/Slider/package.json +1 -1
  74. package/dist/esm/components/Spinner/package.json +1 -1
  75. package/dist/esm/components/Switch/package.json +1 -1
  76. package/dist/esm/components/Tabs/package.json +1 -1
  77. package/dist/esm/components/Text/package.json +1 -1
  78. package/dist/esm/components/TextArea/package.json +1 -1
  79. package/dist/esm/components/TextInput/package.json +1 -1
  80. package/dist/esm/components/TextInputGroup/package.json +1 -1
  81. package/dist/esm/components/Tile/package.json +1 -1
  82. package/dist/esm/components/TimePicker/package.json +1 -1
  83. package/dist/esm/components/Timestamp/package.json +1 -1
  84. package/dist/esm/components/Title/package.json +1 -1
  85. package/dist/esm/components/ToggleGroup/package.json +1 -1
  86. package/dist/esm/components/Toolbar/package.json +1 -1
  87. package/dist/esm/components/Tooltip/package.json +1 -1
  88. package/dist/esm/components/TreeView/package.json +1 -1
  89. package/dist/esm/components/Truncate/package.json +1 -1
  90. package/dist/esm/components/Wizard/hooks/package.json +1 -1
  91. package/dist/esm/components/Wizard/package.json +1 -1
  92. package/dist/esm/components/package.json +1 -1
  93. package/dist/esm/deprecated/components/ApplicationLauncher/package.json +1 -1
  94. package/dist/esm/deprecated/components/ContextSelector/package.json +1 -1
  95. package/dist/esm/deprecated/components/Dropdown/package.json +1 -1
  96. package/dist/esm/deprecated/components/OptionsMenu/package.json +1 -1
  97. package/dist/esm/deprecated/components/PageHeader/package.json +1 -1
  98. package/dist/esm/deprecated/components/Select/package.json +1 -1
  99. package/dist/esm/deprecated/components/Wizard/package.json +1 -1
  100. package/dist/esm/deprecated/components/package.json +1 -1
  101. package/dist/esm/deprecated/package.json +1 -1
  102. package/dist/esm/helpers/Popper/thirdparty/popper-core/package.json +1 -1
  103. package/dist/esm/helpers/package.json +1 -1
  104. package/dist/esm/layouts/Bullseye/package.json +1 -1
  105. package/dist/esm/layouts/Flex/package.json +1 -1
  106. package/dist/esm/layouts/Gallery/package.json +1 -1
  107. package/dist/esm/layouts/Grid/package.json +1 -1
  108. package/dist/esm/layouts/Level/package.json +1 -1
  109. package/dist/esm/layouts/Split/package.json +1 -1
  110. package/dist/esm/layouts/Stack/package.json +1 -1
  111. package/dist/esm/layouts/package.json +1 -1
  112. package/dist/esm/next/components/package.json +1 -1
  113. package/dist/esm/next/package.json +1 -1
  114. package/dist/esm/package.json +1 -1
  115. package/dist/js/components/AboutModal/package.json +1 -1
  116. package/dist/js/components/Accordion/package.json +1 -1
  117. package/dist/js/components/ActionList/package.json +1 -1
  118. package/dist/js/components/Alert/package.json +1 -1
  119. package/dist/js/components/Avatar/package.json +1 -1
  120. package/dist/js/components/BackToTop/package.json +1 -1
  121. package/dist/js/components/Backdrop/package.json +1 -1
  122. package/dist/js/components/BackgroundImage/package.json +1 -1
  123. package/dist/js/components/Badge/package.json +1 -1
  124. package/dist/js/components/Banner/package.json +1 -1
  125. package/dist/js/components/Brand/package.json +1 -1
  126. package/dist/js/components/Breadcrumb/package.json +1 -1
  127. package/dist/js/components/Button/package.json +1 -1
  128. package/dist/js/components/CalendarMonth/package.json +1 -1
  129. package/dist/js/components/Card/package.json +1 -1
  130. package/dist/js/components/Checkbox/package.json +1 -1
  131. package/dist/js/components/Chip/package.json +1 -1
  132. package/dist/js/components/ClipboardCopy/package.json +1 -1
  133. package/dist/js/components/CodeBlock/package.json +1 -1
  134. package/dist/js/components/DataList/package.json +1 -1
  135. package/dist/js/components/DatePicker/package.json +1 -1
  136. package/dist/js/components/DescriptionList/package.json +1 -1
  137. package/dist/js/components/Divider/package.json +1 -1
  138. package/dist/js/components/DragDrop/package.json +1 -1
  139. package/dist/js/components/Drawer/package.json +1 -1
  140. package/dist/js/components/Dropdown/Dropdown.d.ts.map +1 -1
  141. package/dist/js/components/Dropdown/Dropdown.js +2 -4
  142. package/dist/js/components/Dropdown/Dropdown.js.map +1 -1
  143. package/dist/js/components/Dropdown/package.json +1 -1
  144. package/dist/js/components/DualListSelector/package.json +1 -1
  145. package/dist/js/components/EmptyState/package.json +1 -1
  146. package/dist/js/components/ExpandableSection/package.json +1 -1
  147. package/dist/js/components/FileUpload/package.json +1 -1
  148. package/dist/js/components/Form/package.json +1 -1
  149. package/dist/js/components/FormSelect/package.json +1 -1
  150. package/dist/js/components/HelperText/package.json +1 -1
  151. package/dist/js/components/Hint/package.json +1 -1
  152. package/dist/js/components/Icon/package.json +1 -1
  153. package/dist/js/components/InputGroup/package.json +1 -1
  154. package/dist/js/components/JumpLinks/package.json +1 -1
  155. package/dist/js/components/Label/package.json +1 -1
  156. package/dist/js/components/LabelGroup/package.json +1 -1
  157. package/dist/js/components/List/package.json +1 -1
  158. package/dist/js/components/LoginPage/package.json +1 -1
  159. package/dist/js/components/Masthead/package.json +1 -1
  160. package/dist/js/components/Menu/package.json +1 -1
  161. package/dist/js/components/MenuToggle/MenuToggle.d.ts +3 -1
  162. package/dist/js/components/MenuToggle/MenuToggle.d.ts.map +1 -1
  163. package/dist/js/components/MenuToggle/MenuToggle.js +1 -3
  164. package/dist/js/components/MenuToggle/MenuToggle.js.map +1 -1
  165. package/dist/js/components/MenuToggle/package.json +1 -1
  166. package/dist/js/components/Modal/package.json +1 -1
  167. package/dist/js/components/MultipleFileUpload/package.json +1 -1
  168. package/dist/js/components/Nav/package.json +1 -1
  169. package/dist/js/components/NotificationBadge/package.json +1 -1
  170. package/dist/js/components/NotificationDrawer/package.json +1 -1
  171. package/dist/js/components/NumberInput/package.json +1 -1
  172. package/dist/js/components/OverflowMenu/package.json +1 -1
  173. package/dist/js/components/Page/package.json +1 -1
  174. package/dist/js/components/Pagination/package.json +1 -1
  175. package/dist/js/components/Panel/package.json +1 -1
  176. package/dist/js/components/Popover/package.json +1 -1
  177. package/dist/js/components/Progress/package.json +1 -1
  178. package/dist/js/components/ProgressStepper/package.json +1 -1
  179. package/dist/js/components/Radio/package.json +1 -1
  180. package/dist/js/components/SearchInput/package.json +1 -1
  181. package/dist/js/components/Select/package.json +1 -1
  182. package/dist/js/components/Sidebar/package.json +1 -1
  183. package/dist/js/components/SimpleList/package.json +1 -1
  184. package/dist/js/components/Skeleton/package.json +1 -1
  185. package/dist/js/components/SkipToContent/package.json +1 -1
  186. package/dist/js/components/Slider/package.json +1 -1
  187. package/dist/js/components/Spinner/package.json +1 -1
  188. package/dist/js/components/Switch/package.json +1 -1
  189. package/dist/js/components/Tabs/package.json +1 -1
  190. package/dist/js/components/Text/package.json +1 -1
  191. package/dist/js/components/TextArea/package.json +1 -1
  192. package/dist/js/components/TextInput/package.json +1 -1
  193. package/dist/js/components/TextInputGroup/package.json +1 -1
  194. package/dist/js/components/Tile/package.json +1 -1
  195. package/dist/js/components/TimePicker/package.json +1 -1
  196. package/dist/js/components/Timestamp/package.json +1 -1
  197. package/dist/js/components/Title/package.json +1 -1
  198. package/dist/js/components/ToggleGroup/package.json +1 -1
  199. package/dist/js/components/Toolbar/package.json +1 -1
  200. package/dist/js/components/Tooltip/package.json +1 -1
  201. package/dist/js/components/TreeView/package.json +1 -1
  202. package/dist/js/components/Truncate/package.json +1 -1
  203. package/dist/js/components/Wizard/hooks/package.json +1 -1
  204. package/dist/js/components/Wizard/package.json +1 -1
  205. package/dist/js/components/package.json +1 -1
  206. package/dist/js/deprecated/components/ApplicationLauncher/package.json +1 -1
  207. package/dist/js/deprecated/components/ContextSelector/package.json +1 -1
  208. package/dist/js/deprecated/components/Dropdown/package.json +1 -1
  209. package/dist/js/deprecated/components/OptionsMenu/package.json +1 -1
  210. package/dist/js/deprecated/components/PageHeader/package.json +1 -1
  211. package/dist/js/deprecated/components/Select/package.json +1 -1
  212. package/dist/js/deprecated/components/Wizard/package.json +1 -1
  213. package/dist/js/deprecated/components/package.json +1 -1
  214. package/dist/js/deprecated/package.json +1 -1
  215. package/dist/js/helpers/Popper/thirdparty/popper-core/package.json +1 -1
  216. package/dist/js/helpers/package.json +1 -1
  217. package/dist/js/layouts/Bullseye/package.json +1 -1
  218. package/dist/js/layouts/Flex/package.json +1 -1
  219. package/dist/js/layouts/Gallery/package.json +1 -1
  220. package/dist/js/layouts/Grid/package.json +1 -1
  221. package/dist/js/layouts/Level/package.json +1 -1
  222. package/dist/js/layouts/Split/package.json +1 -1
  223. package/dist/js/layouts/Stack/package.json +1 -1
  224. package/dist/js/layouts/package.json +1 -1
  225. package/dist/js/next/components/package.json +1 -1
  226. package/dist/js/next/package.json +1 -1
  227. package/dist/js/package.json +1 -1
  228. package/dist/umd/react-core.min.js +1 -1
  229. package/package.json +2 -2
  230. package/src/components/ActionList/examples/ActionList.md +1 -6
  231. package/src/components/ActionList/examples/ActionListSingleGroup.tsx +50 -38
  232. package/src/components/Breadcrumb/examples/Breadcrumb.md +1 -5
  233. package/src/components/Breadcrumb/examples/BreadcrumbDropdown.tsx +34 -21
  234. package/src/components/Card/examples/Card.md +9 -14
  235. package/src/components/Card/examples/CardExpandable.tsx +44 -31
  236. package/src/components/Card/examples/CardExpandableWithIcon.tsx +50 -29
  237. package/src/components/Card/examples/CardHeaderInCardHead.tsx +50 -29
  238. package/src/components/Card/examples/CardLegacySelectable.tsx +52 -33
  239. package/src/components/Card/examples/CardOnlyActionsInCardHead.tsx +48 -29
  240. package/src/components/Card/examples/CardSelectable.tsx +52 -36
  241. package/src/components/Card/examples/CardWithImageAndActions.tsx +51 -29
  242. package/src/components/DataList/__tests__/DataList.test.tsx +10 -11
  243. package/src/components/DataList/__tests__/__snapshots__/DataList.test.tsx.snap +86 -19
  244. package/src/components/DataList/examples/DataList.md +1 -6
  245. package/src/components/DataList/examples/DataListActions.tsx +39 -23
  246. package/src/components/DataList/examples/DataListCheckboxes.tsx +106 -61
  247. package/src/components/DataList/examples/DataListExpandable.tsx +103 -55
  248. package/src/components/DataList/examples/DataListMixedExpandable.tsx +105 -57
  249. package/src/components/DataList/examples/DataListSelectableRows.tsx +71 -39
  250. package/src/components/DataList/examples/DataListWidthModifiers.tsx +81 -39
  251. package/src/components/Dropdown/Dropdown.tsx +10 -13
  252. package/src/components/Dropdown/__tests__/__snapshots__/Dropdown.test.tsx.snap +29 -32
  253. package/src/components/Dropdown/examples/Dropdown.md +0 -1
  254. package/src/components/Dropdown/examples/DropdownBasic.tsx +22 -16
  255. package/src/components/Dropdown/examples/DropdownWithDescriptions.tsx +13 -18
  256. package/src/components/Dropdown/examples/DropdownWithGroups.tsx +30 -16
  257. package/src/components/Dropdown/examples/DropdownWithKebabToggle.tsx +22 -16
  258. package/src/components/DualListSelector/examples/DualListSelector.md +1 -5
  259. package/src/components/DualListSelector/examples/DualListSelectorComplexOptionsActions.tsx +60 -36
  260. package/src/components/Hint/examples/Hint.md +1 -6
  261. package/src/components/Hint/examples/HintBasicWithTitle.tsx +58 -32
  262. package/src/components/Hint/examples/HintBasicWithoutTitle.tsx +57 -32
  263. package/src/components/InputGroup/examples/InputGroup.md +0 -5
  264. package/src/components/InputGroup/examples/InputGroupWithDropdown.tsx +32 -24
  265. package/src/components/Menu/examples/Menu.md +1 -5
  266. package/src/components/Menu/examples/MenuWithDrilldownBreadcrumbs.tsx +120 -89
  267. package/src/components/MenuToggle/MenuToggle.tsx +4 -3
  268. package/src/components/MenuToggle/__tests__/__snapshots__/MenuToggle.test.tsx.snap +10 -18
  269. package/src/components/MenuToggle/examples/MenuToggle.md +35 -5
  270. package/src/components/Modal/examples/Modal.md +0 -5
  271. package/src/components/Modal/examples/ModalWithDropdown.tsx +40 -34
  272. package/src/components/NotificationDrawer/examples/NotificationDrawer.md +1 -8
  273. package/src/components/NotificationDrawer/examples/NotificationDrawerBasic.tsx +145 -72
  274. package/src/components/NotificationDrawer/examples/NotificationDrawerGroups.tsx +187 -131
  275. package/src/components/Tabs/examples/Tabs.md +120 -44
  276. package/src/components/Toolbar/examples/Toolbar.md +41 -28
  277. package/src/components/Toolbar/examples/ToolbarItems.tsx +1 -1
  278. package/src/components/Toolbar/examples/ToolbarStacked.tsx +75 -58
  279. package/src/components/Toolbar/examples/ToolbarWithFilters.tsx +57 -88
  280. package/src/components/TreeView/examples/TreeView.md +42 -30
  281. package/src/demos/AlertGroup.md +1 -6
  282. package/src/demos/Card/Card.md +75 -80
  283. package/src/demos/CardDemos.md +40 -34
  284. package/src/demos/DataListDemo.md +130 -70
  285. package/src/demos/DatePicker/DatePicker.md +1 -89
  286. package/src/demos/DateTimePicker.md +90 -5
  287. package/src/demos/Masthead.md +1 -7
  288. package/src/demos/Nav.md +213 -155
  289. package/src/demos/NotificationDrawer/NotificationDrawer.md +485 -355
  290. package/src/demos/Page.md +1 -7
  291. package/src/demos/PrimaryDetail.md +193 -211
  292. package/src/demos/Tabs.md +0 -1
  293. package/src/demos/Toolbar.md +169 -190
  294. package/src/demos/examples/AlertGroup/AlertGroupToastWithNotificationDrawer.tsx +61 -49
  295. package/src/demos/examples/DashboardHeader.js +96 -81
  296. package/src/demos/examples/DateTimePicker/DateTimePicker.tsx +29 -26
  297. package/src/demos/examples/Masthead/MastheadWithUtilitiesAndUserDropdownMenu.tsx +84 -69
  298. package/src/demos/examples/Page/PageStickySectionBreadcrumb.tsx +90 -74
  299. package/src/demos/examples/Page/PageStickySectionGroup.tsx +90 -74
  300. package/src/demos/examples/Page/PageStickySectionGroupAlternate.tsx +90 -74
  301. package/src/demos/examples/Tabs/TabsAndTable.tsx +12 -6
package/src/demos/Tabs.md CHANGED
@@ -12,7 +12,6 @@ import CubeIcon from '@patternfly/react-icons/dist/esm/icons/cube-icon';
12
12
  import FilterIcon from '@patternfly/react-icons/dist/esm/icons/filter-icon';
13
13
  import SortAmountDownIcon from '@patternfly/react-icons/dist/esm/icons/sort-amount-down-icon';
14
14
  import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
15
- import { KebabToggle } from '@patternfly/react-core/deprecated';
16
15
 
17
16
  ## Demos
18
17
 
@@ -4,15 +4,6 @@ section: components
4
4
  ---
5
5
 
6
6
  import DashboardWrapper from '@patternfly/react-core/src/demos/examples/DashboardWrapper';
7
- import {
8
- Dropdown as DropdownDeprecated,
9
- DropdownItem as DropdownItemDeprecated,
10
- DropdownToggle,
11
- DropdownToggleAction,
12
- DropdownPosition,
13
- DropdownSeparator
14
- } from '@patternfly/react-core/deprecated';
15
-
16
7
  import PauseIcon from '@patternfly/react-icons/dist/esm/icons/pause-icon';
17
8
  import PlayIcon from '@patternfly/react-icons/dist/esm/icons/play-icon';
18
9
  import ExpandIcon from '@patternfly/react-icons/dist/esm/icons/expand-icon';
@@ -42,20 +33,16 @@ import {
42
33
  PageSection,
43
34
  PageSectionVariants,
44
35
  Toolbar,
45
- ToolbarContent,
46
- ToolbarGroup,
47
- ToolbarItem,
36
+ ToolbarContent,
37
+ ToolbarGroup,
38
+ ToolbarItem,
48
39
  ToolbarToggleGroup,
49
- Tooltip
40
+ Tooltip,
41
+ Dropdown,
42
+ DropdownItem,
43
+ DropdownList,
44
+ Divider
50
45
  } from '@patternfly/react-core';
51
- import {
52
- Dropdown as DropdownDeprecated,
53
- DropdownItem as DropdownItemDeprecated,
54
- DropdownToggle,
55
- DropdownToggleAction,
56
- DropdownPosition,
57
- DropdownSeparator
58
- } from '@patternfly/react-core/deprecated';
59
46
  import DashboardWrapper from '@patternfly/react-core/src/demos/examples/DashboardWrapper';
60
47
 
61
48
  import PauseIcon from '@patternfly/react-icons/dist/esm/icons/pause-icon';
@@ -97,18 +84,18 @@ class ConsoleLogViewerToolbar extends React.Component {
97
84
  };
98
85
 
99
86
  this.onContainerToggle = () => {
100
- this.setState(prevState => {
87
+ this.setState((prevState) => {
101
88
  return {
102
89
  containerExpanded: !prevState.containerExpanded
103
- }
90
+ };
104
91
  });
105
92
  };
106
93
 
107
94
  this.onContainerToggleMobile = () => {
108
- this.setState(prevState => {
95
+ this.setState((prevState) => {
109
96
  return {
110
97
  containerExpandedMobile: !prevState.containerExpandedMobile
111
- }
98
+ };
112
99
  });
113
100
  };
114
101
 
@@ -126,84 +113,72 @@ class ConsoleLogViewerToolbar extends React.Component {
126
113
  });
127
114
  };
128
115
 
129
- this.onOptionToggle = (_event, isExpanded) => {
130
- this.setState({
131
- optionExpanded: isExpanded
132
- });
116
+ this.onOptionToggle = () => {
117
+ this.setState((prevState) => ({
118
+ optionExpanded: !prevState.optionExpanded
119
+ }));
133
120
  };
134
121
 
135
- this.onOptionToggleMobile = (_event, isExpanded) => {
136
- this.setState({
137
- optionExpandedMobile: isExpanded
138
- });
122
+ this.onOptionToggleMobile = () => {
123
+ this.setState((prevState) => ({
124
+ optionExpandedMobile: !prevState.optionExpandedMobile
125
+ }));
139
126
  };
140
127
 
141
- this.onOptionSelect = (event) => {
142
- this.setState({
143
- optionExpanded: !this.state.optionExpanded
144
- });
128
+ this.onExternalToggle = () => {
129
+ this.setState((prevState) => ({
130
+ externalExpanded: !prevState.externalExpanded
131
+ }));
145
132
  };
146
133
 
147
- this.onOptionSelectMobile = (event) => {
148
- this.setState({
149
- optionExpandedMobile: !this.state.optionExpandedMobile
150
- });
134
+ this.onExternalToggleMobile = () => {
135
+ this.setState((prevState) => ({
136
+ externalExpandedMobile: !prevState.externalExpandedMobile
137
+ }));
151
138
  };
152
139
 
153
- this.onExternalToggle = (_event, isExpanded) => {
140
+ this.onExternalSelect = () => {
154
141
  this.setState({
155
- externalExpanded: isExpanded
142
+ externalExpanded: false
156
143
  });
157
144
  };
158
145
 
159
- this.onExternalToggleMobile = (_event, isExpanded) => {
146
+ this.onExternalSelectMobile = () => {
160
147
  this.setState({
161
- externalExpandedMobile: isExpanded
148
+ externalExpandedMobile: false
162
149
  });
163
150
  };
164
151
 
165
- this.onExternalSelect = (event) => {
166
- this.setState({
167
- externalExpanded: !this.state.externalExpanded
168
- });
152
+ this.onDownloadToggle = () => {
153
+ this.setState((prevState) => ({
154
+ downloadExpanded: !prevState.downloadExpanded
155
+ }));
169
156
  };
170
157
 
171
- this.onExternalSelectMobile = (event) => {
172
- this.setState({
173
- externalExpandedMobile: !this.state.externalExpandedMobile
174
- });
158
+ this.onDownloadToggleMobile = () => {
159
+ this.setState((prevState) => ({
160
+ downloadExpandedMobile: !prevState.downloadExpandedMobile
161
+ }));
175
162
  };
176
163
 
177
- this.onDownloadToggle = (_event, isExpanded) => {
164
+ this.onDownloadSelect = () => {
178
165
  this.setState({
179
- downloadExpanded: isExpanded
166
+ downloadExpanded: false
180
167
  });
181
168
  };
182
169
 
183
- this.onDownloadToggleMobile = (_event, isExpanded) => {
170
+ this.onDownloadSelectMobile = () => {
184
171
  this.setState({
185
- downloadExpandedMobile: isExpanded
186
- });
187
- };
188
-
189
- this.onDownloadSelect = (event) => {
190
- this.setState({
191
- downloadExpanded: !this.state.downloadExpanded
192
- });
193
- };
194
-
195
- this.onDownloadSelectMobile = (event) => {
196
- this.setState({
197
- downloadExpandedMobile: !this.state.downloadExpandedMobile
172
+ downloadExpandedMobile: false
198
173
  });
199
174
  };
200
175
 
201
176
  this.onExternalClick = (event) => {
202
- window.alert('Open external logs!');
177
+ console.log('External logs opened!');
203
178
  };
204
179
 
205
180
  this.onDownloadClick = (event) => {
206
- window.alert('Action!');
181
+ console.log('Download action clicked!');
207
182
  };
208
183
 
209
184
  this.pauseOrStart = (event) => {
@@ -212,19 +187,19 @@ class ConsoleLogViewerToolbar extends React.Component {
212
187
  });
213
188
  };
214
189
 
215
- this.handleFirstSwitchChange = (event, firstSwitchChecked) => {
216
- this.setState({ firstSwitchChecked });
190
+ this.handleFirstSwitchChange = () => {
191
+ this.setState((prevState) => ({ firstSwitchChecked: !prevState.firstSwitchChecked }));
217
192
  };
218
193
 
219
- this.handleSecondSwitchChange = (event, secondSwitchChecked) => {
220
- this.setState({ secondSwitchChecked });
194
+ this.handleSecondSwitchChange = () => {
195
+ this.setState((prevState) => ({ secondSwitchChecked: !prevState.secondSwitchChecked }));
221
196
  };
222
197
 
223
- this.onClearLogs = (event) => {
198
+ this.onClearLogs = () => {
224
199
  this.setState({
225
200
  optionExpanded: false
226
201
  });
227
- window.alert('Clear Logs!');
202
+ console.log('Logs cleared!');
228
203
  };
229
204
 
230
205
  this.onSearchChange = (event, value) => {
@@ -295,61 +270,52 @@ class ConsoleLogViewerToolbar extends React.Component {
295
270
  mobileView
296
271
  } = this.state;
297
272
 
298
- const externalDropdownItems = [
299
- <DropdownItemDeprecated key="action-1" component="button" onClick={this.onExternalClick}>
300
- External logs
301
- </DropdownItemDeprecated>,
302
- <DropdownItemDeprecated key="action-2" component="button" onClick={this.onExternalClick}>
303
- External logs
304
- </DropdownItemDeprecated>,
305
- <DropdownItemDeprecated key="action-3" component="button" onClick={this.onExternalClick}>
306
- External logs
307
- </DropdownItemDeprecated>
308
- ];
309
-
310
- const downloadDropdownItems = [
311
- <DropdownItemDeprecated key="action-4" component="button" onClick={this.onDownloadClick}>
312
- Current container logs
313
- </DropdownItemDeprecated>,
314
- <DropdownItemDeprecated key="action-5" component="button" onClick={this.onDownloadClick}>
315
- All container logs
316
- </DropdownItemDeprecated>
317
- ];
318
-
319
- const optionDropdownItems = [
320
- <DropdownItemDeprecated key="switch-1">
321
- <Checkbox
322
- label="Display timestamp"
323
- isChecked={firstSwitchChecked}
324
- onChange={this.handleFirstSwitchChange}
325
- id="switchMobileCheckbox1"
326
- name="check1"
327
- />
328
- </DropdownItemDeprecated>,
329
- <DropdownItemDeprecated key="switch-2">
330
- <Checkbox
331
- label="Wrap lines"
332
- isChecked={secondSwitchChecked}
333
- onChange={this.handleSecondSwitchChange}
334
- id="switchMobileCheckbox2"
335
- name="check2"
336
- />
337
- </DropdownItemDeprecated>,
338
- <DropdownSeparator key="separator" />,
339
- <DropdownItemDeprecated key="clear-log" onClick={this.onClearLogs}>
340
- Clear logs
341
- </DropdownItemDeprecated>
342
- ];
343
-
273
+ const externalDropdownItems = (
274
+ <>
275
+ <DropdownItem key="action-1" onClick={this.onExternalClick}>
276
+ External logs 1
277
+ </DropdownItem>
278
+ <DropdownItem key="action-2" onClick={this.onExternalClick}>
279
+ External logs 2
280
+ </DropdownItem>
281
+ <DropdownItem key="action-3" onClick={this.onExternalClick}>
282
+ External logs 3
283
+ </DropdownItem>
284
+ </>
285
+ );
286
+ const downloadDropdownItems = (
287
+ <>
288
+ <DropdownItem key="action-4" onClick={this.onDownloadClick}>
289
+ Current container logs
290
+ </DropdownItem>
291
+ <DropdownItem key="action-5" onClick={this.onDownloadClick}>
292
+ All container logs
293
+ </DropdownItem>
294
+ </>
295
+ );
296
+ const optionDropdownItems = (
297
+ <>
298
+ <DropdownItem key="switch-1" hasCheckbox isSelected={firstSwitchChecked} onClick={this.handleFirstSwitchChange}>
299
+ Display timestamp
300
+ </DropdownItem>
301
+ <DropdownItem
302
+ key="switch-2"
303
+ hasCheckbox
304
+ isSelected={secondSwitchChecked}
305
+ onClick={this.handleSecondSwitchChange}
306
+ >
307
+ Wrap lines
308
+ </DropdownItem>
309
+ <Divider component="li" key="separator" />
310
+ <DropdownItem key="clear-log" onClick={this.onClearLogs}>
311
+ Clear logs
312
+ </DropdownItem>
313
+ </>
314
+ );
344
315
  const selectDropdownContent = (
345
316
  <SelectList>
346
317
  {Object.entries(this.firstOptions).map(([value, { type }]) => (
347
- <SelectOption
348
- key={value}
349
- hasCheckbox
350
- itemId={value}
351
- isSelected={containerSelected === value}
352
- >
318
+ <SelectOption key={value} hasCheckbox itemId={value} isSelected={containerSelected === value}>
353
319
  <Badge key={value}>{type}</Badge>
354
320
  {` ${value}`}
355
321
  </SelectOption>
@@ -408,15 +374,18 @@ class ConsoleLogViewerToolbar extends React.Component {
408
374
  </Select>
409
375
  </ToolbarItem>
410
376
  <ToolbarItem visibility={{ default: 'hidden', '2xl': 'visible' }}>
411
- <DropdownDeprecated
412
- toggle={
413
- <DropdownToggle id="option-toggle-desktop" onToggle={this.onOptionToggle} icon={<CogIcon />}>
414
- Options
415
- </DropdownToggle>
416
- }
377
+ <Dropdown
417
378
  isOpen={optionExpanded}
418
- dropdownItems={optionDropdownItems}
419
- />
379
+ onOpenChange={(isOpen) => this.setState({ optionExpanded: isOpen })}
380
+ onSelect={this.onOptionSelect}
381
+ toggle={(toggleRef) => (
382
+ <MenuToggle ref={toggleRef} isExpanded={optionExpanded} onClick={this.onOptionToggle} icon={<CogIcon />}>
383
+ Options
384
+ </MenuToggle>
385
+ )}
386
+ >
387
+ <DropdownList>{optionDropdownItems}</DropdownList>
388
+ </Dropdown>
420
389
  </ToolbarItem>
421
390
  <ToolbarItem visibility={{ default: 'hidden', '2xl': 'visible' }}>
422
391
  <Button variant={isPaused ? 'plain' : 'link'} onClick={this.pauseOrStart}>
@@ -434,11 +403,7 @@ class ConsoleLogViewerToolbar extends React.Component {
434
403
  <Select
435
404
  role="menu"
436
405
  toggle={(toggleRef) => (
437
- <MenuToggle
438
- ref={toggleRef}
439
- onClick={this.onContainerToggleMobile}
440
- isExpanded={containerExpandedMobile}
441
- >
406
+ <MenuToggle ref={toggleRef} onClick={this.onContainerToggleMobile} isExpanded={containerExpandedMobile}>
442
407
  {selectToggleContent({ showText: false })}
443
408
  </MenuToggle>
444
409
  )}
@@ -448,23 +413,27 @@ class ConsoleLogViewerToolbar extends React.Component {
448
413
  isOpen={containerExpandedMobile}
449
414
  >
450
415
  {selectDropdownContent}
451
- </Select>
416
+ </Select>
452
417
  </Tooltip>
453
418
  </ToolbarItem>
454
419
  <ToolbarItem visibility={{ default: 'visible', '2xl': 'hidden' }}>
455
420
  <Tooltip position="top" content={<div>Options</div>}>
456
- <DropdownDeprecated
457
- toggle={
458
- <DropdownToggle
459
- aria-label="Options"
460
- id="option-toggle-mobile"
461
- onToggle={this.onOptionToggleMobile}
421
+ <Dropdown
422
+ isOpen={optionExpandedMobile}
423
+ onOpenChange={(isOpen) => this.setState({ optionExpandedMobile: isOpen })}
424
+ onSelect={this.onOptionSelectMobile}
425
+ toggle={(toggleRef) => (
426
+ <MenuToggle
427
+ ref={toggleRef}
428
+ isExpanded={optionExpandedMobile}
429
+ onClick={this.onOptionToggleMobile}
462
430
  icon={<CogIcon />}
431
+ aria-label="Options"
463
432
  />
464
- }
465
- isOpen={optionExpandedMobile}
466
- dropdownItems={optionDropdownItems}
467
- />
433
+ )}
434
+ >
435
+ <DropdownList>{optionDropdownItems}</DropdownList>
436
+ </Dropdown>
468
437
  </Tooltip>
469
438
  </ToolbarItem>
470
439
  <ToolbarItem visibility={{ default: 'visible', '2xl': 'hidden' }}>
@@ -487,28 +456,32 @@ class ConsoleLogViewerToolbar extends React.Component {
487
456
  const rightAlignedItemsDesktop = (
488
457
  <React.Fragment>
489
458
  <ToolbarItem visibility={{ default: 'hidden', '2xl': 'visible' }}>
490
- <DropdownDeprecated
459
+ <Dropdown
460
+ isOpen={externalExpanded}
461
+ onOpenChange={(isOpen) => this.setState({ externalExpanded: isOpen })}
491
462
  onSelect={this.onExternalSelect}
492
- toggle={
493
- <DropdownToggle id="external-toggle" onToggle={this.onExternalToggle}>
463
+ toggle={(toggleRef) => (
464
+ <MenuToggle ref={toggleRef} isExpanded={externalExpanded} onClick={this.onExternalToggle}>
494
465
  External logs
495
- </DropdownToggle>
496
- }
497
- isOpen={externalExpanded}
498
- dropdownItems={externalDropdownItems}
499
- />
466
+ </MenuToggle>
467
+ )}
468
+ >
469
+ <DropdownList>{externalDropdownItems}</DropdownList>
470
+ </Dropdown>
500
471
  </ToolbarItem>
501
472
  <ToolbarItem visibility={{ default: 'hidden', '2xl': 'visible' }}>
502
- <DropdownDeprecated
473
+ <Dropdown
474
+ isOpen={downloadExpanded}
475
+ onOpenChange={(isOpen) => this.setState({ downloadExpanded: isOpen })}
503
476
  onSelect={this.onDownloadSelect}
504
- toggle={
505
- <DropdownToggle id="download-toggle" onToggle={this.onDownloadToggle}>
477
+ toggle={(toggleRef) => (
478
+ <MenuToggle ref={toggleRef} isExpanded={downloadExpanded} onClick={this.onDownloadToggle}>
506
479
  Download
507
- </DropdownToggle>
508
- }
509
- isOpen={downloadExpanded}
510
- dropdownItems={downloadDropdownItems}
511
- />
480
+ </MenuToggle>
481
+ )}
482
+ >
483
+ <DropdownList>{downloadDropdownItems}</DropdownList>
484
+ </Dropdown>
512
485
  </ToolbarItem>
513
486
  </React.Fragment>
514
487
  );
@@ -517,37 +490,43 @@ class ConsoleLogViewerToolbar extends React.Component {
517
490
  <React.Fragment>
518
491
  <ToolbarItem visibility={{ default: 'visible', '2xl': 'hidden' }}>
519
492
  <Tooltip position="top" content={<div>External logs</div>}>
520
- <DropdownDeprecated
493
+ <Dropdown
494
+ isOpen={externalExpandedMobile}
495
+ onOpenChange={(isOpen) => this.setState({ externalExpandedMobile: isOpen })}
521
496
  onSelect={this.onExternalSelectMobile}
522
- toggle={
523
- <DropdownToggle
524
- id="mobile-external-toggle"
525
- onToggle={this.onExternalToggleMobile}
526
- aria-label="External logs"
497
+ toggle={(toggleRef) => (
498
+ <MenuToggle
499
+ ref={toggleRef}
500
+ isExpanded={externalExpandedMobile}
501
+ onClick={this.onExternalToggleMobile}
527
502
  icon={<ExternalLinkAltIcon />}
503
+ aria-label="External logs"
528
504
  />
529
- }
530
- isOpen={externalExpandedMobile}
531
- dropdownItems={externalDropdownItems}
532
- />
505
+ )}
506
+ >
507
+ <DropdownList>{externalDropdownItems}</DropdownList>
508
+ </Dropdown>
533
509
  </Tooltip>
534
510
  </ToolbarItem>
535
511
  <ToolbarItem visibility={{ default: 'visible', '2xl': 'hidden' }}>
536
512
  <Tooltip position="top" content={<div>Download</div>}>
537
- <DropdownDeprecated
513
+ <Dropdown
514
+ isOpen={downloadExpandedMobile}
515
+ onOpenChange={(isOpen) => this.setState({ downloadExpandedMobile: isOpen })}
538
516
  onSelect={this.onDownloadSelectMobile}
539
- toggle={
540
- <DropdownToggle
541
- id="mobile-download-toggle"
542
- aria-label="Download"
543
- onToggle={this.onDownloadToggleMobile}
517
+ popperProps={{ position: 'right' }}
518
+ toggle={(toggleRef) => (
519
+ <MenuToggle
520
+ ref={toggleRef}
521
+ isExpanded={downloadExpandedMobile}
522
+ onClick={this.onDownloadToggleMobile}
544
523
  icon={<DownloadIcon />}
524
+ aria-label="Download"
545
525
  />
546
- }
547
- isOpen={downloadExpandedMobile}
548
- position={DropdownPosition.right}
549
- dropdownItems={downloadDropdownItems}
550
- />
526
+ )}
527
+ >
528
+ <DropdownList>{downloadDropdownItems}</DropdownList>
529
+ </Dropdown>
551
530
  </Tooltip>
552
531
  </ToolbarItem>
553
532
  </React.Fragment>
@@ -25,15 +25,14 @@ import {
25
25
  AlertGroup,
26
26
  AlertActionCloseButton,
27
27
  ToolbarItem,
28
+ Dropdown,
29
+ DropdownList,
30
+ DropdownItem,
31
+ MenuToggle,
32
+ MenuToggleElement
28
33
  } from '@patternfly/react-core';
29
- import {
30
- Dropdown as DropdownDeprecated,
31
- DropdownItem as DropdownItemDeprecated,
32
- KebabToggle,
33
- DropdownPosition
34
- } from '@patternfly/react-core/deprecated';
35
-
36
34
  import SearchIcon from '@patternfly/react-icons/dist/js/icons/search-icon';
35
+ import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
37
36
  import DashboardWrapper from '../DashboardWrapper';
38
37
  import DashboardHeader from '../DashboardHeader';
39
38
 
@@ -146,8 +145,8 @@ export const AlertGroupToastWithNotificationDrawer: React.FunctionComponent = ()
146
145
  setDrawerExpanded(!isDrawerExpanded);
147
146
  };
148
147
 
149
- const onDropdownToggle = (id: React.Key, isActive: boolean) => {
150
- if (isActive) {
148
+ const onDropdownToggle = (id: React.Key) => {
149
+ if (id && openDropdownKey !== id) {
151
150
  setOpenDropdownKey(id);
152
151
  return;
153
152
  }
@@ -218,46 +217,53 @@ export const AlertGroupToastWithNotificationDrawer: React.FunctionComponent = ()
218
217
  </ToolbarItem>
219
218
  );
220
219
 
221
- const notificationDrawerActions = [
222
- <DropdownItemDeprecated key="markAllRead" onClick={markAllNotificationsRead} component="button">
223
- Mark all read
224
- </DropdownItemDeprecated>,
225
- <DropdownItemDeprecated key="clearAll" onClick={removeAllNotifications} component="button">
226
- Clear all
227
- </DropdownItemDeprecated>
228
- ];
229
-
220
+ const notificationDrawerActions = (
221
+ <>
222
+ <DropdownItem key="markAllRead" onClick={markAllNotificationsRead}>
223
+ Mark all read
224
+ </DropdownItem>
225
+ <DropdownItem key="clearAll" onClick={removeAllNotifications}>
226
+ Clear all
227
+ </DropdownItem>
228
+ </>
229
+ );
230
230
  const notificationDrawerDropdownItems = (key: React.Key) => [
231
- <DropdownItemDeprecated key="markRead" component="button" onClick={() => markNotificationRead(key)}>
231
+ <DropdownItem key={`markRead-${key}`} onClick={() => markNotificationRead(key)}>
232
232
  Mark as read
233
- </DropdownItemDeprecated>,
234
- <DropdownItemDeprecated key="action" component="button" onClick={() => removeNotification(key)}>
233
+ </DropdownItem>,
234
+ <DropdownItem key={`clear-${key}`} onClick={() => removeNotification(key)}>
235
235
  Clear
236
- </DropdownItemDeprecated>
236
+ </DropdownItem>
237
237
  ];
238
238
 
239
239
  const notificationDrawer = (
240
240
  <NotificationDrawer>
241
241
  <NotificationDrawerHeader count={getUnreadNotificationsNumber()} onClose={(_event) => setDrawerExpanded(false)}>
242
- <DropdownDeprecated
243
- onSelect={onDropdownSelect}
244
- toggle={
245
- <KebabToggle
246
- onToggle={(_event: any, isActive: boolean) => onDropdownToggle('dropdown-toggle-id-0', isActive)}
247
- id="dropdown-toggle-id-0"
248
- />
249
- }
250
- isOpen={openDropdownKey === 'dropdown-toggle-id-0'}
251
- isPlain
252
- dropdownItems={notificationDrawerActions}
242
+ <Dropdown
253
243
  id="notification-drawer-0"
254
- position={DropdownPosition.right}
255
- />
244
+ isOpen={openDropdownKey === 'dropdown-toggle-id-0'}
245
+ onSelect={onDropdownSelect}
246
+ popperProps={{ position: 'right' }}
247
+ onOpenChange={(isOpen: boolean) => !isOpen && setOpenDropdownKey(null)}
248
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
249
+ <MenuToggle
250
+ ref={toggleRef}
251
+ isExpanded={openDropdownKey === 'dropdown-toggle-id-0'}
252
+ variant="plain"
253
+ onClick={() => onDropdownToggle('dropdown-toggle-id-0')}
254
+ aria-label="Notification drawer actions"
255
+ >
256
+ <EllipsisVIcon aria-hidden="true" />
257
+ </MenuToggle>
258
+ )}
259
+ >
260
+ <DropdownList>{notificationDrawerActions}</DropdownList>
261
+ </Dropdown>
256
262
  </NotificationDrawerHeader>
257
263
  <NotificationDrawerBody>
258
264
  {notifications.length !== 0 && (
259
265
  <NotificationDrawerList>
260
- {notifications.map(({ key, variant, title, srTitle, description, timestamp }) => (
266
+ {notifications.map(({ key, variant, title, srTitle, description, timestamp }, index) => (
261
267
  <NotificationDrawerListItem
262
268
  key={key}
263
269
  variant={variant}
@@ -265,20 +271,26 @@ export const AlertGroupToastWithNotificationDrawer: React.FunctionComponent = ()
265
271
  onClick={() => markNotificationRead(key)}
266
272
  >
267
273
  <NotificationDrawerListItemHeader variant={variant} title={title} srTitle={srTitle}>
268
- <DropdownDeprecated
269
- position={DropdownPosition.right}
270
- onSelect={onDropdownSelect}
271
- toggle={
272
- <KebabToggle
273
- onToggle={(_event: any, isActive: boolean) => onDropdownToggle(key, isActive)}
274
- id={key.toString()}
275
- />
276
- }
277
- isOpen={openDropdownKey === key}
278
- isPlain
279
- dropdownItems={notificationDrawerDropdownItems(key)}
274
+ <Dropdown
280
275
  id={key.toString()}
281
- />
276
+ isOpen={openDropdownKey === key}
277
+ onSelect={onDropdownSelect}
278
+ popperProps={{ position: 'right' }}
279
+ onOpenChange={(isOpen: boolean) => !isOpen && setOpenDropdownKey(null)}
280
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
281
+ <MenuToggle
282
+ ref={toggleRef}
283
+ isExpanded={openDropdownKey === key}
284
+ variant="plain"
285
+ onClick={() => onDropdownToggle(key)}
286
+ aria-label={`Notification ${index + 1} actions`}
287
+ >
288
+ <EllipsisVIcon aria-hidden="true" />
289
+ </MenuToggle>
290
+ )}
291
+ >
292
+ <DropdownList>{notificationDrawerDropdownItems(key)}</DropdownList>
293
+ </Dropdown>
282
294
  </NotificationDrawerListItemHeader>
283
295
  <NotificationDrawerListItemBody timestamp={timestamp}> {description} </NotificationDrawerListItemBody>
284
296
  </NotificationDrawerListItem>