@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
@@ -9,6 +9,10 @@ import {
9
9
  Card,
10
10
  CardBody,
11
11
  Divider,
12
+ Dropdown,
13
+ DropdownGroup,
14
+ DropdownItem,
15
+ DropdownList,
12
16
  Gallery,
13
17
  GalleryItem,
14
18
  Masthead,
@@ -16,6 +20,8 @@ import {
16
20
  MastheadContent,
17
21
  MastheadMain,
18
22
  MastheadToggle,
23
+ MenuToggle,
24
+ MenuToggleElement,
19
25
  Nav,
20
26
  NavItem,
21
27
  NavList,
@@ -33,18 +39,12 @@ import {
33
39
  ToolbarGroup,
34
40
  ToolbarItem
35
41
  } from '@patternfly/react-core';
36
- import {
37
- Dropdown as DropdownDeprecated,
38
- DropdownGroup as DropdownGroupDeprecated,
39
- DropdownItem as DropdownItemDeprecated,
40
- DropdownToggle,
41
- KebabToggle
42
- } from '@patternfly/react-core/deprecated';
43
42
  import BarsIcon from '@patternfly/react-icons/dist/esm/icons/bars-icon';
44
43
  import BellIcon from '@patternfly/react-icons/dist/esm/icons/bell-icon';
45
44
  import CogIcon from '@patternfly/react-icons/dist/esm/icons/cog-icon';
46
45
  import HelpIcon from '@patternfly/react-icons/dist/esm/icons/help-icon';
47
46
  import QuestionCircleIcon from '@patternfly/react-icons/dist/esm/icons/question-circle-icon';
47
+ import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
48
48
  import imgAvatar from '@patternfly/react-core/src/components/Avatar/examples/avatarImg.svg';
49
49
 
50
50
  interface NavOnSelectProps {
@@ -64,28 +64,28 @@ export const PageStickySectionBreadcrumb: React.FunctionComponent = () => {
64
64
  typeof selectedItem.itemId === 'number' && setActiveItem(selectedItem.itemId);
65
65
  };
66
66
 
67
- const onDropdownToggle = (_event: any, isOpen: boolean) => {
68
- setIsDropdownOpen(isOpen);
67
+ const onDropdownToggle = () => {
68
+ setIsDropdownOpen(!isDropdownOpen);
69
69
  };
70
70
 
71
71
  const onDropdownSelect = () => {
72
- setIsDropdownOpen(!isDropdownOpen);
72
+ setIsDropdownOpen(false);
73
73
  };
74
74
 
75
- const onKebabDropdownToggle = (_event: any, isOpen: boolean) => {
76
- setIsKebabDropdownOpen(isOpen);
75
+ const onKebabDropdownToggle = () => {
76
+ setIsKebabDropdownOpen(!isKebabDropdownOpen);
77
77
  };
78
78
 
79
79
  const onKebabDropdownSelect = () => {
80
- setIsKebabDropdownOpen(!isKebabDropdownOpen);
80
+ setIsKebabDropdownOpen(false);
81
81
  };
82
82
 
83
- const onFullKebabDropdownToggle = (_event: any, isOpen: boolean) => {
84
- setIsFullKebabDropdownOpen(isOpen);
83
+ const onFullKebabDropdownToggle = () => {
84
+ setIsFullKebabDropdownOpen(!isFullKebabDropdownOpen);
85
85
  };
86
86
 
87
87
  const onFullKebabDropdownSelect = () => {
88
- setIsFullKebabDropdownOpen(!isFullKebabDropdownOpen);
88
+ setIsFullKebabDropdownOpen(false);
89
89
  };
90
90
 
91
91
  const dashboardBreadcrumb = (
@@ -99,41 +99,23 @@ export const PageStickySectionBreadcrumb: React.FunctionComponent = () => {
99
99
  </Breadcrumb>
100
100
  );
101
101
 
102
- const kebabDropdownItems = [
103
- <DropdownItemDeprecated key="settings">
104
- <CogIcon /> Settings
105
- </DropdownItemDeprecated>,
106
- <DropdownItemDeprecated key="help">
107
- <HelpIcon /> Help
108
- </DropdownItemDeprecated>
109
- ];
110
-
111
- const fullKebabDropdownItems = [
112
- <DropdownGroupDeprecated key="group 2">
113
- <DropdownItemDeprecated key="group 2 profile">My profile</DropdownItemDeprecated>
114
- <DropdownItemDeprecated key="group 2 user" component="button">
115
- User management
116
- </DropdownItemDeprecated>
117
- <DropdownItemDeprecated key="group 2 logout">Logout</DropdownItemDeprecated>
118
- </DropdownGroupDeprecated>,
119
- <Divider key="divider" />,
120
- <DropdownItemDeprecated key="settings">
121
- <CogIcon /> Settings
122
- </DropdownItemDeprecated>,
123
- <DropdownItemDeprecated key="help">
124
- <HelpIcon /> Help
125
- </DropdownItemDeprecated>
126
- ];
127
-
128
- const userDropdownItems = [
129
- <DropdownGroupDeprecated key="group 2">
130
- <DropdownItemDeprecated key="group 2 profile">My profile</DropdownItemDeprecated>
131
- <DropdownItemDeprecated key="group 2 user" component="button">
132
- User management
133
- </DropdownItemDeprecated>
134
- <DropdownItemDeprecated key="group 2 logout">Logout</DropdownItemDeprecated>
135
- </DropdownGroupDeprecated>
136
- ];
102
+ const kebabDropdownItems = (
103
+ <>
104
+ <DropdownItem>
105
+ <CogIcon /> Settings
106
+ </DropdownItem>
107
+ <DropdownItem>
108
+ <HelpIcon /> Help
109
+ </DropdownItem>
110
+ </>
111
+ );
112
+ const userDropdownItems = (
113
+ <>
114
+ <DropdownItem key="group 2 profile">My profile</DropdownItem>
115
+ <DropdownItem key="group 2 user">User management</DropdownItem>
116
+ <DropdownItem key="group 2 logout">Logout</DropdownItem>
117
+ </>
118
+ );
137
119
 
138
120
  const headerToolbar = (
139
121
  <Toolbar id="toolbar" isFullHeight isStatic>
@@ -155,38 +137,72 @@ export const PageStickySectionBreadcrumb: React.FunctionComponent = () => {
155
137
  </ToolbarItem>
156
138
  </ToolbarGroup>
157
139
  <ToolbarItem visibility={{ default: 'hidden', md: 'visible', lg: 'hidden' }}>
158
- <DropdownDeprecated
159
- isPlain
160
- position="right"
161
- onSelect={onKebabDropdownSelect}
162
- toggle={<KebabToggle onToggle={onKebabDropdownToggle} />}
140
+ <Dropdown
163
141
  isOpen={isKebabDropdownOpen}
164
- dropdownItems={kebabDropdownItems}
165
- />
142
+ onSelect={onKebabDropdownSelect}
143
+ onOpenChange={(isOpen: boolean) => setIsKebabDropdownOpen(isOpen)}
144
+ popperProps={{ position: 'right' }}
145
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
146
+ <MenuToggle
147
+ ref={toggleRef}
148
+ onClick={onKebabDropdownToggle}
149
+ isExpanded={isKebabDropdownOpen}
150
+ variant="plain"
151
+ aria-label="Settings and help"
152
+ >
153
+ <EllipsisVIcon aria-hidden="true" />
154
+ </MenuToggle>
155
+ )}
156
+ >
157
+ <DropdownList>{kebabDropdownItems}</DropdownList>
158
+ </Dropdown>
166
159
  </ToolbarItem>
167
160
  <ToolbarItem visibility={{ md: 'hidden' }}>
168
- <DropdownDeprecated
169
- isPlain
170
- position="right"
171
- onSelect={onFullKebabDropdownSelect}
172
- toggle={<KebabToggle onToggle={onFullKebabDropdownToggle} />}
161
+ <Dropdown
173
162
  isOpen={isFullKebabDropdownOpen}
174
- dropdownItems={fullKebabDropdownItems}
175
- />
163
+ onSelect={onFullKebabDropdownSelect}
164
+ onOpenChange={(isOpen: boolean) => setIsFullKebabDropdownOpen(isOpen)}
165
+ popperProps={{ position: 'right' }}
166
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
167
+ <MenuToggle
168
+ ref={toggleRef}
169
+ onClick={onFullKebabDropdownToggle}
170
+ isExpanded={isFullKebabDropdownOpen}
171
+ variant="plain"
172
+ aria-label="Toolbar menu"
173
+ >
174
+ <EllipsisVIcon aria-hidden="true" />
175
+ </MenuToggle>
176
+ )}
177
+ >
178
+ <DropdownGroup key="group 2" aria-label="User actions">
179
+ <DropdownList>{userDropdownItems}</DropdownList>
180
+ </DropdownGroup>
181
+ <Divider />
182
+ <DropdownList>{kebabDropdownItems}</DropdownList>
183
+ </Dropdown>
176
184
  </ToolbarItem>
177
185
  </ToolbarGroup>
178
186
  <ToolbarItem visibility={{ default: 'hidden', md: 'visible' }}>
179
- <DropdownDeprecated
180
- isFullHeight
181
- onSelect={onDropdownSelect}
187
+ <Dropdown
182
188
  isOpen={isDropdownOpen}
183
- toggle={
184
- <DropdownToggle icon={<Avatar src={imgAvatar} alt="Avatar" />} onToggle={onDropdownToggle}>
189
+ onSelect={onDropdownSelect}
190
+ onOpenChange={(isOpen: boolean) => setIsDropdownOpen(isOpen)}
191
+ popperProps={{ position: 'right' }}
192
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
193
+ <MenuToggle
194
+ ref={toggleRef}
195
+ onClick={onDropdownToggle}
196
+ isFullHeight
197
+ isExpanded={isDropdownOpen}
198
+ icon={<Avatar src={imgAvatar} alt="" />}
199
+ >
185
200
  Ned Username
186
- </DropdownToggle>
187
- }
188
- dropdownItems={userDropdownItems}
189
- />
201
+ </MenuToggle>
202
+ )}
203
+ >
204
+ <DropdownList>{userDropdownItems}</DropdownList>
205
+ </Dropdown>
190
206
  </ToolbarItem>
191
207
  </ToolbarContent>
192
208
  </Toolbar>
@@ -9,6 +9,10 @@ import {
9
9
  Card,
10
10
  CardBody,
11
11
  Divider,
12
+ Dropdown,
13
+ DropdownGroup,
14
+ DropdownItem,
15
+ DropdownList,
12
16
  Gallery,
13
17
  GalleryItem,
14
18
  Masthead,
@@ -16,6 +20,8 @@ import {
16
20
  MastheadContent,
17
21
  MastheadMain,
18
22
  MastheadToggle,
23
+ MenuToggle,
24
+ MenuToggleElement,
19
25
  Nav,
20
26
  NavItem,
21
27
  NavList,
@@ -33,18 +39,12 @@ import {
33
39
  ToolbarGroup,
34
40
  ToolbarItem
35
41
  } from '@patternfly/react-core';
36
- import {
37
- Dropdown as DropdownDeprecated,
38
- DropdownGroup as DropdownGroupDeprecated,
39
- DropdownItem as DropdownItemDeprecated,
40
- DropdownToggle,
41
- KebabToggle
42
- } from '@patternfly/react-core/deprecated';
43
42
  import BarsIcon from '@patternfly/react-icons/dist/esm/icons/bars-icon';
44
43
  import BellIcon from '@patternfly/react-icons/dist/esm/icons/bell-icon';
45
44
  import CogIcon from '@patternfly/react-icons/dist/esm/icons/cog-icon';
46
45
  import HelpIcon from '@patternfly/react-icons/dist/esm/icons/help-icon';
47
46
  import QuestionCircleIcon from '@patternfly/react-icons/dist/esm/icons/question-circle-icon';
47
+ import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
48
48
  import imgAvatar from '@patternfly/react-core/src/components/Avatar/examples/avatarImg.svg';
49
49
 
50
50
  interface NavOnSelectProps {
@@ -64,28 +64,28 @@ export const PageStickySectionGroup: React.FunctionComponent = () => {
64
64
  typeof selectedItem.itemId === 'number' && setActiveItem(selectedItem.itemId);
65
65
  };
66
66
 
67
- const onDropdownToggle = (_event: any, isOpen: boolean) => {
68
- setIsDropdownOpen(isOpen);
67
+ const onDropdownToggle = () => {
68
+ setIsDropdownOpen(!isDropdownOpen);
69
69
  };
70
70
 
71
71
  const onDropdownSelect = () => {
72
- setIsDropdownOpen(!isDropdownOpen);
72
+ setIsDropdownOpen(false);
73
73
  };
74
74
 
75
- const onKebabDropdownToggle = (_event: any, isOpen: boolean) => {
76
- setIsKebabDropdownOpen(isOpen);
75
+ const onKebabDropdownToggle = () => {
76
+ setIsKebabDropdownOpen(!isKebabDropdownOpen);
77
77
  };
78
78
 
79
79
  const onKebabDropdownSelect = () => {
80
- setIsKebabDropdownOpen(!isKebabDropdownOpen);
80
+ setIsKebabDropdownOpen(false);
81
81
  };
82
82
 
83
- const onFullKebabDropdownToggle = (_event: any, isOpen: boolean) => {
84
- setIsFullKebabDropdownOpen(isOpen);
83
+ const onFullKebabDropdownToggle = () => {
84
+ setIsFullKebabDropdownOpen(!isFullKebabDropdownOpen);
85
85
  };
86
86
 
87
87
  const onFullKebabDropdownSelect = () => {
88
- setIsFullKebabDropdownOpen(!isFullKebabDropdownOpen);
88
+ setIsFullKebabDropdownOpen(false);
89
89
  };
90
90
 
91
91
  const dashboardBreadcrumb = (
@@ -99,41 +99,23 @@ export const PageStickySectionGroup: React.FunctionComponent = () => {
99
99
  </Breadcrumb>
100
100
  );
101
101
 
102
- const kebabDropdownItems = [
103
- <DropdownItemDeprecated key="settings">
104
- <CogIcon /> Settings
105
- </DropdownItemDeprecated>,
106
- <DropdownItemDeprecated key="help">
107
- <HelpIcon /> Help
108
- </DropdownItemDeprecated>
109
- ];
110
-
111
- const fullKebabDropdownItems = [
112
- <DropdownGroupDeprecated key="group 2">
113
- <DropdownItemDeprecated key="group 2 profile">My profile</DropdownItemDeprecated>
114
- <DropdownItemDeprecated key="group 2 user" component="button">
115
- User management
116
- </DropdownItemDeprecated>
117
- <DropdownItemDeprecated key="group 2 logout">Logout</DropdownItemDeprecated>
118
- </DropdownGroupDeprecated>,
119
- <Divider key="divider" />,
120
- <DropdownItemDeprecated key="settings">
121
- <CogIcon /> Settings
122
- </DropdownItemDeprecated>,
123
- <DropdownItemDeprecated key="help">
124
- <HelpIcon /> Help
125
- </DropdownItemDeprecated>
126
- ];
127
-
128
- const userDropdownItems = [
129
- <DropdownGroupDeprecated key="group 2">
130
- <DropdownItemDeprecated key="group 2 profile">My profile</DropdownItemDeprecated>
131
- <DropdownItemDeprecated key="group 2 user" component="button">
132
- User management
133
- </DropdownItemDeprecated>
134
- <DropdownItemDeprecated key="group 2 logout">Logout</DropdownItemDeprecated>
135
- </DropdownGroupDeprecated>
136
- ];
102
+ const kebabDropdownItems = (
103
+ <>
104
+ <DropdownItem>
105
+ <CogIcon /> Settings
106
+ </DropdownItem>
107
+ <DropdownItem>
108
+ <HelpIcon /> Help
109
+ </DropdownItem>
110
+ </>
111
+ );
112
+ const userDropdownItems = (
113
+ <>
114
+ <DropdownItem key="group 2 profile">My profile</DropdownItem>
115
+ <DropdownItem key="group 2 user">User management</DropdownItem>
116
+ <DropdownItem key="group 2 logout">Logout</DropdownItem>
117
+ </>
118
+ );
137
119
 
138
120
  const headerToolbar = (
139
121
  <Toolbar id="toolbar" isFullHeight isStatic>
@@ -155,38 +137,72 @@ export const PageStickySectionGroup: React.FunctionComponent = () => {
155
137
  </ToolbarItem>
156
138
  </ToolbarGroup>
157
139
  <ToolbarItem visibility={{ default: 'hidden', md: 'visible', lg: 'hidden' }}>
158
- <DropdownDeprecated
159
- isPlain
160
- position="right"
161
- onSelect={onKebabDropdownSelect}
162
- toggle={<KebabToggle onToggle={onKebabDropdownToggle} />}
140
+ <Dropdown
163
141
  isOpen={isKebabDropdownOpen}
164
- dropdownItems={kebabDropdownItems}
165
- />
142
+ onSelect={onKebabDropdownSelect}
143
+ onOpenChange={(isOpen: boolean) => setIsKebabDropdownOpen(isOpen)}
144
+ popperProps={{ position: 'right' }}
145
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
146
+ <MenuToggle
147
+ ref={toggleRef}
148
+ onClick={onKebabDropdownToggle}
149
+ isExpanded={isKebabDropdownOpen}
150
+ variant="plain"
151
+ aria-label="Settings and help"
152
+ >
153
+ <EllipsisVIcon aria-hidden="true" />
154
+ </MenuToggle>
155
+ )}
156
+ >
157
+ <DropdownList>{kebabDropdownItems}</DropdownList>
158
+ </Dropdown>
166
159
  </ToolbarItem>
167
160
  <ToolbarItem visibility={{ md: 'hidden' }}>
168
- <DropdownDeprecated
169
- isPlain
170
- position="right"
171
- onSelect={onFullKebabDropdownSelect}
172
- toggle={<KebabToggle onToggle={onFullKebabDropdownToggle} />}
161
+ <Dropdown
173
162
  isOpen={isFullKebabDropdownOpen}
174
- dropdownItems={fullKebabDropdownItems}
175
- />
163
+ onSelect={onFullKebabDropdownSelect}
164
+ onOpenChange={(isOpen: boolean) => setIsFullKebabDropdownOpen(isOpen)}
165
+ popperProps={{ position: 'right' }}
166
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
167
+ <MenuToggle
168
+ ref={toggleRef}
169
+ onClick={onFullKebabDropdownToggle}
170
+ isExpanded={isFullKebabDropdownOpen}
171
+ variant="plain"
172
+ aria-label="Toolbar menu"
173
+ >
174
+ <EllipsisVIcon aria-hidden="true" />
175
+ </MenuToggle>
176
+ )}
177
+ >
178
+ <DropdownGroup key="group 2" aria-label="User actions">
179
+ <DropdownList>{userDropdownItems}</DropdownList>
180
+ </DropdownGroup>
181
+ <Divider />
182
+ <DropdownList>{kebabDropdownItems}</DropdownList>
183
+ </Dropdown>
176
184
  </ToolbarItem>
177
185
  </ToolbarGroup>
178
186
  <ToolbarItem visibility={{ default: 'hidden', md: 'visible' }}>
179
- <DropdownDeprecated
180
- isFullHeight
181
- onSelect={onDropdownSelect}
187
+ <Dropdown
182
188
  isOpen={isDropdownOpen}
183
- toggle={
184
- <DropdownToggle icon={<Avatar src={imgAvatar} alt="Avatar" />} onToggle={onDropdownToggle}>
189
+ onSelect={onDropdownSelect}
190
+ onOpenChange={(isOpen: boolean) => setIsDropdownOpen(isOpen)}
191
+ popperProps={{ position: 'right' }}
192
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
193
+ <MenuToggle
194
+ ref={toggleRef}
195
+ onClick={onDropdownToggle}
196
+ isFullHeight
197
+ isExpanded={isDropdownOpen}
198
+ icon={<Avatar src={imgAvatar} alt="" />}
199
+ >
185
200
  Ned Username
186
- </DropdownToggle>
187
- }
188
- dropdownItems={userDropdownItems}
189
- />
201
+ </MenuToggle>
202
+ )}
203
+ >
204
+ <DropdownList>{userDropdownItems}</DropdownList>
205
+ </Dropdown>
190
206
  </ToolbarItem>
191
207
  </ToolbarContent>
192
208
  </Toolbar>