@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
@@ -1,11 +1,14 @@
1
1
  import React from 'react';
2
- import { Modal, ModalVariant, Button } from '@patternfly/react-core';
3
2
  import {
4
- Dropdown as DropdownDeprecated,
5
- DropdownToggle,
6
- DropdownItem as DropdownItemDeprecated
7
- } from '@patternfly/react-core/deprecated';
8
- import CaretDownIcon from '@patternfly/react-icons/dist/esm/icons/caret-down-icon';
3
+ Modal,
4
+ ModalVariant,
5
+ Button,
6
+ Dropdown,
7
+ DropdownList,
8
+ DropdownItem,
9
+ MenuToggle,
10
+ MenuToggleElement
11
+ } from '@patternfly/react-core';
9
12
 
10
13
  export const ModalWithDropdown: React.FunctionComponent = () => {
11
14
  const [isModalOpen, setIsModalOpen] = React.useState(false);
@@ -16,8 +19,8 @@ export const ModalWithDropdown: React.FunctionComponent = () => {
16
19
  setIsDropdownOpen(false);
17
20
  };
18
21
 
19
- const handleDropdownToggle = (_event: any, isDropdownOpen: boolean) => {
20
- setIsDropdownOpen(isDropdownOpen);
22
+ const handleDropdownToggle = () => {
23
+ setIsDropdownOpen(!isDropdownOpen);
21
24
  };
22
25
 
23
26
  const onSelect = () => {
@@ -39,19 +42,6 @@ export const ModalWithDropdown: React.FunctionComponent = () => {
39
42
  }
40
43
  };
41
44
 
42
- const dropdownItems = [
43
- <DropdownItemDeprecated key="link">Link</DropdownItemDeprecated>,
44
- <DropdownItemDeprecated key="action" component="button">
45
- Action
46
- </DropdownItemDeprecated>,
47
- <DropdownItemDeprecated key="disabled link" isDisabled>
48
- Disabled Link
49
- </DropdownItemDeprecated>,
50
- <DropdownItemDeprecated key="disabled action" isDisabled component="button">
51
- Disabled Action
52
- </DropdownItemDeprecated>
53
- ];
54
-
55
45
  return (
56
46
  <React.Fragment>
57
47
  <Button variant="primary" onClick={handleModalToggle}>
@@ -80,21 +70,37 @@ export const ModalWithDropdown: React.FunctionComponent = () => {
80
70
  </div>
81
71
  <br />
82
72
  <div>
83
- <DropdownDeprecated
73
+ <Dropdown
74
+ isOpen={isDropdownOpen}
84
75
  onSelect={onSelect}
85
- toggle={
86
- <DropdownToggle
87
- id="modal-dropdown-toggle"
88
- onToggle={handleDropdownToggle}
89
- toggleIndicator={CaretDownIcon}
76
+ onOpenChange={(isOpen: boolean) => setIsDropdownOpen(isOpen)}
77
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
78
+ <MenuToggle ref={toggleRef} onClick={handleDropdownToggle} isExpanded={isDropdownOpen}>
79
+ Dropdown
80
+ </MenuToggle>
81
+ )}
82
+ >
83
+ <DropdownList>
84
+ <DropdownItem itemId={0} key="action">
85
+ Action
86
+ </DropdownItem>
87
+ <DropdownItem
88
+ itemId={1}
89
+ key="link"
90
+ to="#default-link2"
91
+ // Prevent the default onClick functionality for example purposes
92
+ onClick={(ev: any) => ev.preventDefault()}
90
93
  >
91
- Dropdown with a menu that can break out
92
- </DropdownToggle>
93
- }
94
- isOpen={isDropdownOpen}
95
- dropdownItems={dropdownItems}
96
- menuAppendTo="parent"
97
- />
94
+ Link
95
+ </DropdownItem>
96
+ <DropdownItem itemId={2} isDisabled key="disabled action">
97
+ Disabled Action
98
+ </DropdownItem>
99
+ <DropdownItem itemId={3} isDisabled key="disabled link" to="#default-link4">
100
+ Disabled Link
101
+ </DropdownItem>
102
+ </DropdownList>
103
+ </Dropdown>
98
104
  </div>
99
105
  </Modal>
100
106
  </React.Fragment>
@@ -16,15 +16,8 @@ propComponents:
16
16
  ]
17
17
  ---
18
18
 
19
- import {
20
- Dropdown as DropdownDeprecated,
21
- DropdownItem as DropdownItemDeprecated,
22
- DropdownPosition,
23
- DropdownDirection,
24
- DropdownSeparator,
25
- KebabToggle
26
- } from '@patternfly/react-core/deprecated';
27
19
  import SearchIcon from '@patternfly/react-icons/dist/esm/icons/search-icon';
20
+ import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
28
21
 
29
22
  ## Examples
30
23
 
@@ -6,22 +6,20 @@ import {
6
6
  NotificationDrawerList,
7
7
  NotificationDrawerListItem,
8
8
  NotificationDrawerListItemBody,
9
- NotificationDrawerListItemHeader
9
+ NotificationDrawerListItemHeader,
10
+ Dropdown,
11
+ DropdownList,
12
+ DropdownItem,
13
+ MenuToggle,
14
+ MenuToggleElement
10
15
  } from '@patternfly/react-core';
11
- import {
12
- Dropdown as DropdownDeprecated,
13
- DropdownItem as DropdownItemDeprecated,
14
- DropdownPosition,
15
- DropdownDirection,
16
- DropdownSeparator,
17
- KebabToggle
18
- } from '@patternfly/react-core/deprecated';
16
+ import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
19
17
 
20
18
  export const NotificationDrawerBasic: React.FunctionComponent = () => {
21
19
  const [isOpenMap, setIsOpenMap] = React.useState(new Array(7).fill(false));
22
20
 
23
- const onToggle = (index: number) => (_event: any, isOpen: boolean) => {
24
- const newState = [...isOpenMap.slice(0, index), isOpen, ...isOpenMap.slice(index + 1)];
21
+ const onToggle = (index: number) => () => {
22
+ const newState = [...isOpenMap.slice(0, index), !isOpenMap[index], ...isOpenMap.slice(index + 1)];
25
23
  setIsOpenMap(newState);
26
24
  };
27
25
 
@@ -34,29 +32,45 @@ export const NotificationDrawerBasic: React.FunctionComponent = () => {
34
32
  };
35
33
 
36
34
  const [isOpen0, isOpen1, isOpen2, isOpen3, isOpen4, isOpen5, isOpen6] = isOpenMap;
35
+ const dropdownItems = (
36
+ <>
37
+ <DropdownItem>Action</DropdownItem>
38
+ <DropdownItem
39
+ to="#default-link2"
40
+ // Prevent the default onClick functionality for example purposes
41
+ onClick={(ev: any) => ev.preventDefault()}
42
+ >
43
+ Link
44
+ </DropdownItem>
45
+ <DropdownItem isDisabled>Disabled Action</DropdownItem>
46
+ <DropdownItem isDisabled to="#default-link4">
47
+ Disabled Link
48
+ </DropdownItem>
49
+ </>
50
+ );
37
51
 
38
- const dropdownItems = [
39
- <DropdownItemDeprecated key="link">Link</DropdownItemDeprecated>,
40
- <DropdownItemDeprecated key="action" component="button">
41
- Action
42
- </DropdownItemDeprecated>,
43
- <DropdownSeparator key="separator" />,
44
- <DropdownItemDeprecated key="disabled link" isDisabled>
45
- Disabled link
46
- </DropdownItemDeprecated>
47
- ];
48
52
  return (
49
53
  <NotificationDrawer>
50
- <NotificationDrawerHeader count={3} onClose={(event) => onDrawerClose(event)}>
51
- <DropdownDeprecated
54
+ <NotificationDrawerHeader count={3} onClose={onDrawerClose}>
55
+ <Dropdown
52
56
  onSelect={onSelect}
53
- toggle={<KebabToggle onToggle={onToggle(0)} id="basic-kebab-toggle" />}
54
57
  isOpen={isOpen0}
55
- isPlain
56
- dropdownItems={dropdownItems}
57
- id="basic-notification-0"
58
- position={DropdownPosition.right}
59
- />
58
+ onOpenChange={() => setIsOpenMap(new Array(7).fill(false))}
59
+ popperProps={{ position: 'right' }}
60
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
61
+ <MenuToggle
62
+ ref={toggleRef}
63
+ isExpanded={isOpen0}
64
+ onClick={onToggle(0)}
65
+ variant="plain"
66
+ aria-label={`Basic example header kebab toggle`}
67
+ >
68
+ <EllipsisVIcon aria-hidden="true" />
69
+ </MenuToggle>
70
+ )}
71
+ >
72
+ <DropdownList>{dropdownItems}</DropdownList>
73
+ </Dropdown>
60
74
  </NotificationDrawerHeader>
61
75
  <NotificationDrawerBody>
62
76
  <NotificationDrawerList aria-label="Notifications in the basic example">
@@ -66,15 +80,25 @@ export const NotificationDrawerBasic: React.FunctionComponent = () => {
66
80
  title="Unread info notification title"
67
81
  srTitle="Info notification:"
68
82
  >
69
- <DropdownDeprecated
70
- position={DropdownPosition.right}
83
+ <Dropdown
71
84
  onSelect={onSelect}
72
- toggle={<KebabToggle onToggle={onToggle(1)} id="basic-toggle-id-1" />}
73
85
  isOpen={isOpen1}
74
- isPlain
75
- dropdownItems={dropdownItems}
76
- id="basic-notification-1"
77
- />
86
+ onOpenChange={() => setIsOpenMap(new Array(7).fill(false))}
87
+ popperProps={{ position: 'right' }}
88
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
89
+ <MenuToggle
90
+ ref={toggleRef}
91
+ isExpanded={isOpen0}
92
+ onClick={onToggle(1)}
93
+ variant="plain"
94
+ aria-label={`Basic example notification 1 kebab toggle`}
95
+ >
96
+ <EllipsisVIcon aria-hidden="true" />
97
+ </MenuToggle>
98
+ )}
99
+ >
100
+ <DropdownList>{dropdownItems}</DropdownList>
101
+ </Dropdown>
78
102
  </NotificationDrawerListItemHeader>
79
103
  <NotificationDrawerListItemBody timestamp="5 minutes ago">
80
104
  This is an info notification description.
@@ -86,15 +110,25 @@ export const NotificationDrawerBasic: React.FunctionComponent = () => {
86
110
  title="Unread danger notification title. This is a long title to show how the title will wrap if it is long and wraps to multiple lines."
87
111
  srTitle="Danger notification:"
88
112
  >
89
- <DropdownDeprecated
90
- position={DropdownPosition.right}
113
+ <Dropdown
91
114
  onSelect={onSelect}
92
- toggle={<KebabToggle onToggle={onToggle(2)} id="basic-toggle-id-2" />}
93
115
  isOpen={isOpen2}
94
- isPlain
95
- dropdownItems={dropdownItems}
96
- id="basic-notification-2"
97
- />
116
+ onOpenChange={() => setIsOpenMap(new Array(7).fill(false))}
117
+ popperProps={{ position: 'right' }}
118
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
119
+ <MenuToggle
120
+ ref={toggleRef}
121
+ isExpanded={isOpen2}
122
+ onClick={onToggle(2)}
123
+ variant="plain"
124
+ aria-label={`Basic example notification 2 kebab toggle`}
125
+ >
126
+ <EllipsisVIcon aria-hidden="true" />
127
+ </MenuToggle>
128
+ )}
129
+ >
130
+ <DropdownList>{dropdownItems}</DropdownList>
131
+ </Dropdown>
98
132
  </NotificationDrawerListItemHeader>
99
133
  <NotificationDrawerListItemBody timestamp="10 minutes ago">
100
134
  This is a danger notification description. This is a long description to show how the title will wrap if
@@ -108,15 +142,25 @@ export const NotificationDrawerBasic: React.FunctionComponent = () => {
108
142
  title="Unread danger notification title. This is a long title to show how the title will be truncated if it is long and will be shown in a single line."
109
143
  srTitle="Danger notification:"
110
144
  >
111
- <DropdownDeprecated
112
- position={DropdownPosition.right}
145
+ <Dropdown
113
146
  onSelect={onSelect}
114
- toggle={<KebabToggle onToggle={onToggle(3)} id="basic-toggle-id-3" />}
115
147
  isOpen={isOpen3}
116
- isPlain
117
- dropdownItems={dropdownItems}
118
- id="basic-notification-3"
119
- />
148
+ onOpenChange={() => setIsOpenMap(new Array(7).fill(false))}
149
+ popperProps={{ position: 'right' }}
150
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
151
+ <MenuToggle
152
+ ref={toggleRef}
153
+ isExpanded={isOpen3}
154
+ onClick={onToggle(3)}
155
+ variant="plain"
156
+ aria-label={`Basic example notification 3 kebab toggle`}
157
+ >
158
+ <EllipsisVIcon aria-hidden="true" />
159
+ </MenuToggle>
160
+ )}
161
+ >
162
+ <DropdownList>{dropdownItems}</DropdownList>
163
+ </Dropdown>
120
164
  </NotificationDrawerListItemHeader>
121
165
  <NotificationDrawerListItemBody timestamp="10 minutes ago">
122
166
  This is a danger notification description. This is a long description to show how the title will wrap if
@@ -129,15 +173,25 @@ export const NotificationDrawerBasic: React.FunctionComponent = () => {
129
173
  title="Read warning notification title"
130
174
  srTitle="Warning notification:"
131
175
  >
132
- <DropdownDeprecated
133
- position={DropdownPosition.right}
176
+ <Dropdown
134
177
  onSelect={onSelect}
135
- toggle={<KebabToggle onToggle={onToggle(4)} id="basic-toggle-id-4" />}
136
178
  isOpen={isOpen4}
137
- isPlain
138
- dropdownItems={dropdownItems}
139
- id="basic-notification-4"
140
- />
179
+ onOpenChange={() => setIsOpenMap(new Array(7).fill(false))}
180
+ popperProps={{ position: 'right' }}
181
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
182
+ <MenuToggle
183
+ ref={toggleRef}
184
+ isExpanded={isOpen4}
185
+ onClick={onToggle(4)}
186
+ variant="plain"
187
+ aria-label={`Basic example notification 4 kebab toggle`}
188
+ >
189
+ <EllipsisVIcon aria-hidden="true" />
190
+ </MenuToggle>
191
+ )}
192
+ >
193
+ <DropdownList>{dropdownItems}</DropdownList>
194
+ </Dropdown>
141
195
  </NotificationDrawerListItemHeader>
142
196
  <NotificationDrawerListItemBody timestamp="20 minutes ago">
143
197
  This is a warning notification description.
@@ -149,16 +203,25 @@ export const NotificationDrawerBasic: React.FunctionComponent = () => {
149
203
  title="Read success notification title"
150
204
  srTitle="Success notification:"
151
205
  >
152
- <DropdownDeprecated
153
- position={DropdownPosition.right}
154
- direction={DropdownDirection.up}
206
+ <Dropdown
155
207
  onSelect={onSelect}
156
- toggle={<KebabToggle onToggle={onToggle(5)} id="basic-toggle-id-5" />}
157
208
  isOpen={isOpen5}
158
- isPlain
159
- dropdownItems={dropdownItems}
160
- id="basic-notification-5"
161
- />
209
+ onOpenChange={() => setIsOpenMap(new Array(7).fill(false))}
210
+ popperProps={{ position: 'right' }}
211
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
212
+ <MenuToggle
213
+ ref={toggleRef}
214
+ isExpanded={isOpen5}
215
+ onClick={onToggle(5)}
216
+ variant="plain"
217
+ aria-label={`Basic example notification 5 kebab toggle`}
218
+ >
219
+ <EllipsisVIcon aria-hidden="true" />
220
+ </MenuToggle>
221
+ )}
222
+ >
223
+ <DropdownList>{dropdownItems}</DropdownList>
224
+ </Dropdown>
162
225
  </NotificationDrawerListItemHeader>
163
226
  <NotificationDrawerListItemBody timestamp="30 minutes ago">
164
227
  This is a success notification description.
@@ -166,15 +229,25 @@ export const NotificationDrawerBasic: React.FunctionComponent = () => {
166
229
  </NotificationDrawerListItem>
167
230
  <NotificationDrawerListItem isRead>
168
231
  <NotificationDrawerListItemHeader title="Read (default) notification title" srTitle="notification:">
169
- <DropdownDeprecated
170
- position={DropdownPosition.right}
232
+ <Dropdown
171
233
  onSelect={onSelect}
172
- toggle={<KebabToggle onToggle={onToggle(6)} id="basic-toggle-id-6" />}
173
234
  isOpen={isOpen6}
174
- isPlain
175
- dropdownItems={dropdownItems}
176
- id="basic-notification-6"
177
- />
235
+ onOpenChange={() => setIsOpenMap(new Array(7).fill(false))}
236
+ popperProps={{ position: 'right' }}
237
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
238
+ <MenuToggle
239
+ ref={toggleRef}
240
+ isExpanded={isOpen6}
241
+ onClick={onToggle(6)}
242
+ variant="plain"
243
+ aria-label={`Basic example notification 6 kebab toggle`}
244
+ >
245
+ <EllipsisVIcon aria-hidden="true" />
246
+ </MenuToggle>
247
+ )}
248
+ >
249
+ <DropdownList>{dropdownItems}</DropdownList>
250
+ </Dropdown>
178
251
  </NotificationDrawerListItemHeader>
179
252
  <NotificationDrawerListItemBody timestamp="35 minutes ago">
180
253
  This is a default notification description.