@patternfly/react-core 5.0.0-alpha.87 → 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 (299) hide show
  1. package/CHANGELOG.md +4 -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/Toolbar/examples/Toolbar.md +0 -9
  276. package/src/components/Toolbar/examples/ToolbarStacked.tsx +75 -58
  277. package/src/components/Toolbar/examples/ToolbarWithFilters.tsx +57 -88
  278. package/src/components/TreeView/examples/TreeView.md +42 -30
  279. package/src/demos/AlertGroup.md +1 -6
  280. package/src/demos/Card/Card.md +75 -80
  281. package/src/demos/CardDemos.md +40 -34
  282. package/src/demos/DataListDemo.md +130 -70
  283. package/src/demos/DatePicker/DatePicker.md +1 -89
  284. package/src/demos/DateTimePicker.md +90 -5
  285. package/src/demos/Masthead.md +1 -7
  286. package/src/demos/Nav.md +213 -155
  287. package/src/demos/NotificationDrawer/NotificationDrawer.md +485 -355
  288. package/src/demos/Page.md +1 -7
  289. package/src/demos/PrimaryDetail.md +193 -211
  290. package/src/demos/Tabs.md +0 -1
  291. package/src/demos/Toolbar.md +169 -190
  292. package/src/demos/examples/AlertGroup/AlertGroupToastWithNotificationDrawer.tsx +61 -49
  293. package/src/demos/examples/DashboardHeader.js +96 -81
  294. package/src/demos/examples/DateTimePicker/DateTimePicker.tsx +29 -26
  295. package/src/demos/examples/Masthead/MastheadWithUtilitiesAndUserDropdownMenu.tsx +84 -69
  296. package/src/demos/examples/Page/PageStickySectionBreadcrumb.tsx +90 -74
  297. package/src/demos/examples/Page/PageStickySectionGroup.tsx +90 -74
  298. package/src/demos/examples/Page/PageStickySectionGroupAlternate.tsx +90 -74
  299. package/src/demos/examples/Tabs/TabsAndTable.tsx +12 -6
@@ -1,5 +1,9 @@
1
1
  import React from 'react';
2
2
  import {
3
+ Button,
4
+ Dropdown,
5
+ DropdownList,
6
+ DropdownItem,
3
7
  Toolbar,
4
8
  ToolbarItem,
5
9
  ToolbarContent,
@@ -7,7 +11,6 @@ import {
7
11
  ToolbarToggleGroup,
8
12
  ToolbarGroup,
9
13
  Badge,
10
- Button,
11
14
  MenuToggle,
12
15
  MenuToggleElement,
13
16
  SearchInput,
@@ -15,37 +18,27 @@ import {
15
18
  SelectList,
16
19
  SelectOption
17
20
  } from '@patternfly/react-core';
18
- import {
19
- Dropdown as DropdownDeprecated,
20
- DropdownItem as DropdownItemDeprecated,
21
- DropdownSeparator,
22
- DropdownPosition,
23
- KebabToggle
24
- } from '@patternfly/react-core/deprecated';
25
21
  import FilterIcon from '@patternfly/react-icons/dist/esm/icons/filter-icon';
26
22
  import EditIcon from '@patternfly/react-icons/dist/esm/icons/edit-icon';
27
23
  import CloneIcon from '@patternfly/react-icons/dist/esm/icons/clone-icon';
28
24
  import SyncIcon from '@patternfly/react-icons/dist/esm/icons/sync-icon';
25
+ import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
29
26
 
30
27
  export const ToolbarWithFilters: React.FunctionComponent = () => {
31
28
  const [inputValue, setInputValue] = React.useState('');
32
- const [statusIsExpanded, setStatusIsExpanded] = React.useState(false);
33
- const [riskIsExpanded, setRiskIsExpanded] = React.useState(false);
29
+ const [isStatusExpanded, setIsStatusExpanded] = React.useState(false);
30
+ const [isRiskExpanded, setIsRiskExpanded] = React.useState(false);
34
31
  const [filters, setFilters] = React.useState({
35
32
  risk: ['Low'],
36
33
  status: ['New', 'Pending']
37
34
  });
38
- const [kebabIsOpen, setKebabIsOpen] = React.useState(false);
35
+ const [isKebabOpen, setIsKebabOpen] = React.useState(false);
39
36
 
40
37
  const onInputChange = (newValue: string) => {
41
38
  setInputValue(newValue);
42
39
  };
43
40
 
44
- const onSelect = (
45
- type: string,
46
- event: React.MouseEvent | React.ChangeEvent,
47
- selection: string
48
- ) => {
41
+ const onSelect = (type: string, event: React.MouseEvent | React.ChangeEvent, selection: string) => {
49
42
  const checked = (event.target as HTMLInputElement).checked;
50
43
  setFilters((prev) => {
51
44
  const prevSelections = prev[type];
@@ -83,48 +76,33 @@ export const ToolbarWithFilters: React.FunctionComponent = () => {
83
76
  };
84
77
 
85
78
  const onStatusToggle = () => {
86
- setStatusIsExpanded(!statusIsExpanded);
79
+ setIsStatusExpanded(!isStatusExpanded);
87
80
  };
88
81
 
89
82
  const onRiskToggle = () => {
90
- setRiskIsExpanded(!statusIsExpanded);
83
+ setIsRiskExpanded(!isRiskExpanded);
91
84
  };
92
85
 
93
- const onKebabToggle = (_event: any, isOpen: boolean) => {
94
- setKebabIsOpen(isOpen);
86
+ const onKebabToggle = () => {
87
+ setIsKebabOpen(!isKebabOpen);
95
88
  };
96
89
 
97
90
  const statusMenuItems = (
98
91
  <SelectList>
99
- <SelectOption
100
- hasCheckbox
101
- key="statusNew"
102
- itemId="New"
103
- isSelected={filters.status.includes("New")}
104
- >
92
+ <SelectOption hasCheckbox key="statusNew" itemId="New" isSelected={filters.status.includes('New')}>
105
93
  New
106
94
  </SelectOption>
107
- <SelectOption
108
- hasCheckbox
109
- key="statusPending"
110
- itemId="Pending"
111
- isSelected={filters.status.includes("Pending")}
112
- >
95
+ <SelectOption hasCheckbox key="statusPending" itemId="Pending" isSelected={filters.status.includes('Pending')}>
113
96
  Pending
114
97
  </SelectOption>
115
- <SelectOption
116
- hasCheckbox
117
- key="statusRunning"
118
- itemId="Running"
119
- isSelected={filters.status.includes("Running")}
120
- >
98
+ <SelectOption hasCheckbox key="statusRunning" itemId="Running" isSelected={filters.status.includes('Running')}>
121
99
  Running
122
100
  </SelectOption>
123
101
  <SelectOption
124
102
  hasCheckbox
125
103
  key="statusCancelled"
126
104
  itemId="Cancelled"
127
- isSelected={filters.status.includes("Cancelled")}
105
+ isSelected={filters.status.includes('Cancelled')}
128
106
  >
129
107
  Cancelled
130
108
  </SelectOption>
@@ -133,28 +111,13 @@ export const ToolbarWithFilters: React.FunctionComponent = () => {
133
111
 
134
112
  const riskMenuItems = (
135
113
  <SelectList>
136
- <SelectOption
137
- hasCheckbox
138
- key="riskLow"
139
- itemId="Low"
140
- isSelected={filters.risk.includes("Low")}
141
- >
114
+ <SelectOption hasCheckbox key="riskLow" itemId="Low" isSelected={filters.risk.includes('Low')}>
142
115
  Low
143
116
  </SelectOption>
144
- <SelectOption
145
- hasCheckbox
146
- key="riskMedium"
147
- itemId="Medium"
148
- isSelected={filters.risk.includes("Medium")}
149
- >
117
+ <SelectOption hasCheckbox key="riskMedium" itemId="Medium" isSelected={filters.risk.includes('Medium')}>
150
118
  Medium
151
119
  </SelectOption>
152
- <SelectOption
153
- hasCheckbox
154
- key="riskHigh"
155
- itemId="High"
156
- isSelected={filters.risk.includes("High")}
157
- >
120
+ <SelectOption hasCheckbox key="riskHigh" itemId="High" isSelected={filters.risk.includes('High')}>
158
121
  High
159
122
  </SelectOption>
160
123
  </SelectList>
@@ -186,7 +149,7 @@ export const ToolbarWithFilters: React.FunctionComponent = () => {
186
149
  <MenuToggle
187
150
  ref={toggleRef}
188
151
  onClick={onStatusToggle}
189
- isExpanded={statusIsExpanded}
152
+ isExpanded={isStatusExpanded}
190
153
  style={
191
154
  {
192
155
  width: '140px'
@@ -199,8 +162,8 @@ export const ToolbarWithFilters: React.FunctionComponent = () => {
199
162
  )}
200
163
  onSelect={onStatusSelect}
201
164
  selected={filters.status}
202
- isOpen={statusIsExpanded}
203
- onOpenChange={isOpen => setStatusIsExpanded(isOpen)}
165
+ isOpen={isStatusExpanded}
166
+ onOpenChange={(isOpen) => setIsStatusExpanded(isOpen)}
204
167
  >
205
168
  {statusMenuItems}
206
169
  </Select>
@@ -217,7 +180,7 @@ export const ToolbarWithFilters: React.FunctionComponent = () => {
217
180
  <MenuToggle
218
181
  ref={toggleRef}
219
182
  onClick={onRiskToggle}
220
- isExpanded={riskIsExpanded}
183
+ isExpanded={isRiskExpanded}
221
184
  style={
222
185
  {
223
186
  width: '140px'
@@ -230,8 +193,8 @@ export const ToolbarWithFilters: React.FunctionComponent = () => {
230
193
  )}
231
194
  onSelect={onRiskSelect}
232
195
  selected={filters.risk}
233
- isOpen={riskIsExpanded}
234
- onOpenChange={isOpen => setRiskIsExpanded(isOpen)}
196
+ isOpen={isRiskExpanded}
197
+ onOpenChange={(isOpen) => setIsRiskExpanded(isOpen)}
235
198
  >
236
199
  {riskMenuItems}
237
200
  </Select>
@@ -240,24 +203,6 @@ export const ToolbarWithFilters: React.FunctionComponent = () => {
240
203
  </React.Fragment>
241
204
  );
242
205
 
243
- const dropdownItems = [
244
- <DropdownItemDeprecated key="link">Link</DropdownItemDeprecated>,
245
- <DropdownItemDeprecated key="action" component="button">
246
- Action
247
- </DropdownItemDeprecated>,
248
- <DropdownItemDeprecated key="disabled link" isDisabled>
249
- Disabled Link
250
- </DropdownItemDeprecated>,
251
- <DropdownItemDeprecated key="disabled action" isDisabled component="button">
252
- Disabled Action
253
- </DropdownItemDeprecated>,
254
- <DropdownSeparator key="separator" />,
255
- <DropdownItemDeprecated key="separated link">Separated Link</DropdownItemDeprecated>,
256
- <DropdownItemDeprecated key="separated action" component="button">
257
- Separated Action
258
- </DropdownItemDeprecated>
259
- ];
260
-
261
206
  const toolbarItems = (
262
207
  <React.Fragment>
263
208
  <ToolbarToggleGroup toggleIcon={<FilterIcon />} breakpoint="xl">
@@ -281,13 +226,37 @@ export const ToolbarWithFilters: React.FunctionComponent = () => {
281
226
  </ToolbarItem>
282
227
  </ToolbarGroup>
283
228
  <ToolbarItem>
284
- <DropdownDeprecated
285
- toggle={<KebabToggle onToggle={onKebabToggle} />}
286
- isOpen={kebabIsOpen}
287
- isPlain
288
- dropdownItems={dropdownItems}
289
- position={DropdownPosition.right}
290
- />
229
+ <Dropdown
230
+ popperProps={{ position: 'right' }}
231
+ isOpen={isKebabOpen}
232
+ onOpenChange={(isOpen: boolean) => setIsKebabOpen(isOpen)}
233
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
234
+ <MenuToggle
235
+ ref={toggleRef}
236
+ isExpanded={isKebabOpen}
237
+ onClick={onKebabToggle}
238
+ variant="plain"
239
+ aria-label="Toolbar with filters example kebab toggle"
240
+ >
241
+ <EllipsisVIcon aria-hidden="true" />
242
+ </MenuToggle>
243
+ )}
244
+ >
245
+ <DropdownList>
246
+ <DropdownItem>Action</DropdownItem>
247
+ <DropdownItem
248
+ to="#default-link2"
249
+ // Prevent the default onClick functionality for example purposes
250
+ onClick={(ev: any) => ev.preventDefault()}
251
+ >
252
+ Link
253
+ </DropdownItem>
254
+ <DropdownItem isDisabled>Disabled Action</DropdownItem>
255
+ <DropdownItem isDisabled to="#default-link4">
256
+ Disabled Link
257
+ </DropdownItem>
258
+ </DropdownList>
259
+ </Dropdown>
291
260
  </ToolbarItem>
292
261
  </React.Fragment>
293
262
  );
@@ -5,11 +5,6 @@ cssPrefix: pf-c-tree-view
5
5
  propComponents: ['TreeView', 'TreeViewDataItem', 'TreeViewSearch']
6
6
  ---
7
7
 
8
- import {
9
- Dropdown as DropdownDeprecated,
10
- DropdownItem as DropdownItemDeprecated,
11
- KebabToggle
12
- } from '@patternfly/react-core/deprecated';
13
8
  import { FolderIcon, FolderOpenIcon, EllipsisVIcon, ClipboardIcon, HamburgerIcon } from '@patternfly/react-icons';
14
9
 
15
10
  ## Examples
@@ -863,14 +858,18 @@ class CustomBadgesTreeView extends React.Component {
863
858
 
864
859
  ```js
865
860
  import React from 'react';
866
- import { TreeView, Button } from '@patternfly/react-core';
867
861
  import {
868
- Dropdown as DropdownDeprecated,
869
- DropdownItem as DropdownItemDeprecated,
870
- KebabToggle
871
- } from '@patternfly/react-core/deprecated';
862
+ TreeView,
863
+ Button,
864
+ Dropdown,
865
+ DropdownList,
866
+ DropdownItem,
867
+ MenuToggle,
868
+ MenuToggleElement
869
+ } from '@patternfly/react-core';
872
870
  import ClipboardIcon from '@patternfly/react-icons/dist/esm/icons/clipboard-icon';
873
871
  import HamburgerIcon from '@patternfly/react-icons/dist/esm/icons/hamburger-icon';
872
+ import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
874
873
 
875
874
  class IconTreeView extends React.Component {
876
875
  constructor(props) {
@@ -887,13 +886,13 @@ class IconTreeView extends React.Component {
887
886
  }
888
887
  };
889
888
 
890
- this.onToggle = (_event, isOpen) => {
889
+ this.onToggle = () => {
891
890
  this.setState({
892
- isOpen
891
+ isOpen: !this.state.isOpen
893
892
  });
894
893
  };
895
894
 
896
- this.onAppLaunchSelect = (event) => {
895
+ this.onAppLaunchSelect = () => {
897
896
  this.setState({
898
897
  isOpen: !this.state.isOpen
899
898
  });
@@ -902,30 +901,43 @@ class IconTreeView extends React.Component {
902
901
 
903
902
  render() {
904
903
  const { activeItems, isOpen } = this.state;
905
- const dropdownItems = [
906
- <DropdownItemDeprecated key="link">Link</DropdownItemDeprecated>,
907
- <DropdownItemDeprecated key="action" component="button">
908
- Action
909
- </DropdownItemDeprecated>,
910
- <DropdownItemDeprecated key="disabled link" isDisabled href="www.google.com">
911
- Disabled Link
912
- </DropdownItemDeprecated>,
913
- <DropdownItemDeprecated key="disabled action" isDisabled component="button">
914
- Disabled Action
915
- </DropdownItemDeprecated>
916
- ];
904
+
917
905
  const options = [
918
906
  {
919
907
  name: 'Application launcher',
920
908
  id: 'example7-AppLaunch',
921
909
  action: (
922
- <DropdownDeprecated
910
+ <Dropdown
923
911
  onSelect={this.onAppLaunchSelect}
924
- toggle={<KebabToggle onToggle={this.onToggle} />}
925
912
  isOpen={isOpen}
926
- isPlain
927
- dropdownItems={dropdownItems}
928
- />
913
+ onOpenChange={(isOpen) => this.setState({ isOpen })}
914
+ toggle={(toggleRef) => (
915
+ <MenuToggle
916
+ ref={toggleRef}
917
+ isExpanded={isOpen}
918
+ onClick={this.onToggle}
919
+ variant="plain"
920
+ aria-label="Tree view with actions example kebab toggle"
921
+ >
922
+ <EllipsisVIcon aria-hidden="true" />
923
+ </MenuToggle>
924
+ )}
925
+ >
926
+ <DropdownList>
927
+ <DropdownItem>Action</DropdownItem>
928
+ <DropdownItem
929
+ to="#default-link2"
930
+ // Prevent the default onClick functionality for example purposes
931
+ onClick={(ev) => ev.preventDefault()}
932
+ >
933
+ Link
934
+ </DropdownItem>
935
+ <DropdownItem isDisabled>Disabled Action</DropdownItem>
936
+ <DropdownItem isDisabled to="#default-link4">
937
+ Disabled Link
938
+ </DropdownItem>
939
+ </DropdownList>
940
+ </Dropdown>
929
941
  ),
930
942
  children: [
931
943
  {
@@ -5,14 +5,9 @@ section: components
5
5
 
6
6
  import { useEffect } from 'react';
7
7
  import SearchIcon from '@patternfly/react-icons/dist/js/icons/search-icon';
8
+ import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
8
9
  import DashboardWrapper from './examples/DashboardWrapper';
9
10
  import DashboardHeader from './examples/DashboardHeader';
10
- import {
11
- Dropdown as DropdownDeprecated,
12
- DropdownItem as DropdownItemDeprecated,
13
- KebabToggle,
14
- DropdownPosition
15
- } from '@patternfly/react-core/deprecated';
16
11
 
17
12
  ## Demos
18
13
 
@@ -20,16 +20,6 @@ import azureIcon from './FuseConnector_Icons_AzureServices.png';
20
20
  import restIcon from './FuseConnector_Icons_REST.png';
21
21
  import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
22
22
 
23
- import {
24
- Dropdown as DropdownDeprecated,
25
- DropdownToggle,
26
- DropdownItem as DropdownItemDeprecated,
27
- DropdownSeparator,
28
- DropdownPosition,
29
- DropdownToggleCheckbox,
30
- KebabToggle,
31
- } from '@patternfly/react-core/deprecated';
32
-
33
23
  ## Demos
34
24
 
35
25
  This demonstrates how you can assemble a full page view that contains a grid of equal sized cards that includes a toolbar for managing card grid contents.
@@ -47,7 +37,9 @@ import {
47
37
  CardTitle,
48
38
  CardBody,
49
39
  Checkbox,
40
+ Divider,
50
41
  Dropdown,
42
+ DropdownItem,
51
43
  DropdownList,
52
44
  EmptyState,
53
45
  EmptyStateHeader,
@@ -57,6 +49,7 @@ import {
57
49
  EmptyStateActions,
58
50
  Gallery,
59
51
  MenuToggle,
52
+ MenuToggleCheckbox,
60
53
  OverflowMenu,
61
54
  OverflowMenuControl,
62
55
  OverflowMenuDropdownItem,
@@ -75,15 +68,6 @@ import {
75
68
  SelectList,
76
69
  SelectOption
77
70
  } from '@patternfly/react-core';
78
- import {
79
- Dropdown as DropdownDeprecated,
80
- DropdownToggle,
81
- DropdownItem as DropdownItemDeprecated,
82
- DropdownSeparator,
83
- DropdownPosition,
84
- DropdownToggleCheckbox,
85
- KebabToggle
86
- } from '@patternfly/react-core/deprecated';
87
71
  import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
88
72
  import DashboardWrapper from '@patternfly/react-core/src/demos/examples/DashboardWrapper';
89
73
 
@@ -150,10 +134,10 @@ class CardViewBasic extends React.Component {
150
134
  });
151
135
  };
152
136
 
153
- this.onCardKebabDropdownToggle = (key, isCardKebabDropdownOpen) => {
154
- this.setState({
155
- [key]: isCardKebabDropdownOpen
156
- });
137
+ this.onCardKebabDropdownToggle = (key) => {
138
+ this.setState((prevState) => ({
139
+ [key]: !prevState[key]
140
+ }));
157
141
  };
158
142
 
159
143
  this.onCardKebabDropdownSelect = (key, event) => {
@@ -182,15 +166,15 @@ class CardViewBasic extends React.Component {
182
166
  });
183
167
  };
184
168
 
185
- this.onSplitButtonToggle = (_event, isOpen) => {
186
- this.setState({
187
- splitButtonDropdownIsOpen: isOpen
188
- });
169
+ this.onSplitButtonToggle = () => {
170
+ this.setState((prevState) => ({
171
+ splitButtonDropdownIsOpen: !prevState.splitButtonDropdownIsOpen
172
+ }));
189
173
  };
190
174
 
191
- this.onSplitButtonSelect = (event) => {
192
- this.setState((prevState, props) => {
193
- return { splitButtonDropdownIsOpen: !prevState.splitButtonDropdownIsOpen };
175
+ this.onSplitButtonSelect = () => {
176
+ this.setState({
177
+ splitButtonDropdownIsOpen: false
194
178
  });
195
179
  };
196
180
 
@@ -227,7 +211,6 @@ class CardViewBasic extends React.Component {
227
211
  };
228
212
 
229
213
  this.onKeyDown = (event, productId) => {
230
- console.log(productId);
231
214
  if (event.target !== event.currentTarget) {
232
215
  return;
233
216
  }
@@ -422,41 +405,48 @@ class CardViewBasic extends React.Component {
422
405
  const anySelected = numSelected > 0;
423
406
  const someChecked = anySelected ? null : false;
424
407
  const isChecked = allSelected ? true : someChecked;
425
- const splitButtonDropdownItems = [
426
- <DropdownItemDeprecated key="item-1" onClick={this.selectNone.bind(this)}>
427
- Select none (0 items)
428
- </DropdownItemDeprecated>,
429
- <DropdownItemDeprecated key="item-2" onClick={this.selectPage.bind(this)}>
430
- Select page ({this.state.perPage} items)
431
- </DropdownItemDeprecated>,
432
- <DropdownItemDeprecated key="item-3" onClick={this.selectAll.bind(this)}>
433
- Select all ({this.state.totalItemCount} items)
434
- </DropdownItemDeprecated>
435
- ];
436
-
408
+ const splitButtonDropdownItems = (
409
+ <>
410
+ <DropdownItem key="item-1" onClick={this.selectNone.bind(this)}>
411
+ Select none (0 items)
412
+ </DropdownItem>
413
+ <DropdownItem key="item-2" onClick={this.selectPage.bind(this)}>
414
+ Select page ({this.state.perPage} items)
415
+ </DropdownItem>
416
+ <DropdownItem key="item-3" onClick={this.selectAll.bind(this)}>
417
+ Select all ({this.state.totalItemCount} items)
418
+ </DropdownItem>
419
+ </>
420
+ );
437
421
  return (
438
- <DropdownDeprecated
439
- position={DropdownPosition.left}
422
+ <Dropdown
440
423
  onSelect={this.onSplitButtonSelect}
441
- toggle={
442
- <DropdownToggle
443
- splitButtonItems={[
444
- <DropdownToggleCheckbox
445
- id="example-checkbox-2"
446
- key="split-checkbox"
447
- aria-label={anySelected ? 'Deselect all' : 'Select all'}
448
- isChecked={areAllSelected}
449
- onClick={this.splitCheckboxSelectAll.bind(this)}
450
- >
451
- {numSelected !== 0 && `${numSelected} selected`}
452
- </DropdownToggleCheckbox>
453
- ]}
454
- onToggle={this.onSplitButtonToggle}
455
- ></DropdownToggle>
456
- }
457
424
  isOpen={splitButtonDropdownIsOpen}
458
- dropdownItems={splitButtonDropdownItems}
459
- />
425
+ onOpenChange={(isOpen) => this.setState({ splitButtonDropdownIsOpen: isOpen })}
426
+ toggle={(toggleRef) => (
427
+ <MenuToggle
428
+ ref={toggleRef}
429
+ isExpanded={splitButtonDropdownIsOpen}
430
+ onClick={this.onSplitButtonToggle}
431
+ aria-label="Select cards"
432
+ splitButtonOptions={{
433
+ items: [
434
+ <MenuToggleCheckbox
435
+ id="split-dropdown-checkbox"
436
+ key="split-dropdown-checkbox"
437
+ aria-label={anySelected ? 'Deselect all cards' : 'Select all cards'}
438
+ isChecked={areAllSelected}
439
+ onClick={this.splitCheckboxSelectAll.bind(this)}
440
+ >
441
+ {numSelected !== 0 && `${numSelected} selected`}
442
+ </MenuToggleCheckbox>
443
+ ]
444
+ }}
445
+ ></MenuToggle>
446
+ )}
447
+ >
448
+ <DropdownList>{splitButtonDropdownItems}</DropdownList>
449
+ </Dropdown>
460
450
  );
461
451
  }
462
452
 
@@ -540,7 +530,7 @@ class CardViewBasic extends React.Component {
540
530
  <OverflowMenuDropdownItem itemId={3} key="disabled action" isDisabled component="button">
541
531
  Disabled Action
542
532
  </OverflowMenuDropdownItem>,
543
- <DropdownSeparator itemId={4} key="separator" />,
533
+ <Divider key="separator" />,
544
534
  <OverflowMenuDropdownItem itemId={5} key="separated link">
545
535
  Separated Link
546
536
  </OverflowMenuDropdownItem>,
@@ -573,6 +563,7 @@ class CardViewBasic extends React.Component {
573
563
  </MenuToggle>
574
564
  )}
575
565
  isOpen={isLowerToolbarKebabDropdownOpen}
566
+ onOpenChange={(isOpen) => this.setState({ isLowerToolbarKebabDropdownOpen: isOpen })}
576
567
  >
577
568
  <DropdownList>{toolbarKebabDropdownItems}</DropdownList>
578
569
  </Dropdown>
@@ -650,25 +641,29 @@ class CardViewBasic extends React.Component {
650
641
  actions={{
651
642
  actions: (
652
643
  <>
653
- <DropdownDeprecated
654
- isPlain
655
- position="right"
656
- onSelect={(e) => this.onCardKebabDropdownSelect(key, e)}
657
- toggle={
658
- <KebabToggle
659
- onToggle={(_event, isCardKebabDropdownOpen) =>
660
- this.onCardKebabDropdownToggle(key, isCardKebabDropdownOpen)
661
- }
662
- />
663
- }
644
+ <Dropdown
664
645
  isOpen={this.state[key]}
665
- dropdownItems={[
666
- <DropdownItemDeprecated key="trash" onClick={this.deleteItem(product)} position="right">
646
+ onOpenChange={(isOpen) => this.setState({ [key]: isOpen })}
647
+ toggle={(toggleRef) => (
648
+ <MenuToggle
649
+ ref={toggleRef}
650
+ aria-label={`${product.name} actions`}
651
+ variant="plain"
652
+ onClick={() => this.onCardKebabDropdownToggle(key)}
653
+ isExpanded={this.state[key]}
654
+ >
655
+ <EllipsisVIcon />
656
+ </MenuToggle>
657
+ )}
658
+ popperProps={{ position: 'right' }}
659
+ >
660
+ <DropdownList>
661
+ <DropdownItem key="trash" onClick={this.deleteItem(product)}>
667
662
  <TrashIcon />
668
663
  Delete
669
- </DropdownItemDeprecated>
670
- ]}
671
- />
664
+ </DropdownItem>
665
+ </DropdownList>
666
+ </Dropdown>
672
667
  <Checkbox
673
668
  checked={isChecked}
674
669
  value={product.id}