@patternfly/react-core 5.0.0-alpha.87 → 5.0.0-alpha.89

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 (325) hide show
  1. package/CHANGELOG.md +11 -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/Nav.d.ts +4 -6
  56. package/dist/esm/components/Nav/Nav.d.ts.map +1 -1
  57. package/dist/esm/components/Nav/Nav.js +3 -4
  58. package/dist/esm/components/Nav/Nav.js.map +1 -1
  59. package/dist/esm/components/Nav/NavItem.js +1 -1
  60. package/dist/esm/components/Nav/NavItem.js.map +1 -1
  61. package/dist/esm/components/Nav/package.json +1 -1
  62. package/dist/esm/components/NotificationBadge/package.json +1 -1
  63. package/dist/esm/components/NotificationDrawer/package.json +1 -1
  64. package/dist/esm/components/NumberInput/package.json +1 -1
  65. package/dist/esm/components/OverflowMenu/package.json +1 -1
  66. package/dist/esm/components/Page/package.json +1 -1
  67. package/dist/esm/components/Pagination/package.json +1 -1
  68. package/dist/esm/components/Panel/package.json +1 -1
  69. package/dist/esm/components/Popover/package.json +1 -1
  70. package/dist/esm/components/Progress/package.json +1 -1
  71. package/dist/esm/components/ProgressStepper/package.json +1 -1
  72. package/dist/esm/components/Radio/package.json +1 -1
  73. package/dist/esm/components/SearchInput/package.json +1 -1
  74. package/dist/esm/components/Select/package.json +1 -1
  75. package/dist/esm/components/Sidebar/package.json +1 -1
  76. package/dist/esm/components/SimpleList/package.json +1 -1
  77. package/dist/esm/components/Skeleton/package.json +1 -1
  78. package/dist/esm/components/SkipToContent/package.json +1 -1
  79. package/dist/esm/components/Slider/package.json +1 -1
  80. package/dist/esm/components/Spinner/package.json +1 -1
  81. package/dist/esm/components/Switch/package.json +1 -1
  82. package/dist/esm/components/Tabs/package.json +1 -1
  83. package/dist/esm/components/Text/package.json +1 -1
  84. package/dist/esm/components/TextArea/package.json +1 -1
  85. package/dist/esm/components/TextInput/package.json +1 -1
  86. package/dist/esm/components/TextInputGroup/package.json +1 -1
  87. package/dist/esm/components/Tile/package.json +1 -1
  88. package/dist/esm/components/TimePicker/package.json +1 -1
  89. package/dist/esm/components/Timestamp/package.json +1 -1
  90. package/dist/esm/components/Title/package.json +1 -1
  91. package/dist/esm/components/ToggleGroup/package.json +1 -1
  92. package/dist/esm/components/Toolbar/package.json +1 -1
  93. package/dist/esm/components/Tooltip/package.json +1 -1
  94. package/dist/esm/components/TreeView/package.json +1 -1
  95. package/dist/esm/components/Truncate/package.json +1 -1
  96. package/dist/esm/components/Wizard/hooks/package.json +1 -1
  97. package/dist/esm/components/Wizard/package.json +1 -1
  98. package/dist/esm/components/package.json +1 -1
  99. package/dist/esm/deprecated/components/ApplicationLauncher/package.json +1 -1
  100. package/dist/esm/deprecated/components/ContextSelector/package.json +1 -1
  101. package/dist/esm/deprecated/components/Dropdown/package.json +1 -1
  102. package/dist/esm/deprecated/components/OptionsMenu/package.json +1 -1
  103. package/dist/esm/deprecated/components/PageHeader/package.json +1 -1
  104. package/dist/esm/deprecated/components/Select/package.json +1 -1
  105. package/dist/esm/deprecated/components/Wizard/package.json +1 -1
  106. package/dist/esm/deprecated/components/package.json +1 -1
  107. package/dist/esm/deprecated/package.json +1 -1
  108. package/dist/esm/helpers/Popper/thirdparty/popper-core/package.json +1 -1
  109. package/dist/esm/helpers/package.json +1 -1
  110. package/dist/esm/layouts/Bullseye/package.json +1 -1
  111. package/dist/esm/layouts/Flex/package.json +1 -1
  112. package/dist/esm/layouts/Gallery/package.json +1 -1
  113. package/dist/esm/layouts/Grid/package.json +1 -1
  114. package/dist/esm/layouts/Level/package.json +1 -1
  115. package/dist/esm/layouts/Split/package.json +1 -1
  116. package/dist/esm/layouts/Stack/package.json +1 -1
  117. package/dist/esm/layouts/package.json +1 -1
  118. package/dist/esm/next/components/package.json +1 -1
  119. package/dist/esm/next/package.json +1 -1
  120. package/dist/esm/package.json +1 -1
  121. package/dist/js/components/AboutModal/package.json +1 -1
  122. package/dist/js/components/Accordion/package.json +1 -1
  123. package/dist/js/components/ActionList/package.json +1 -1
  124. package/dist/js/components/Alert/package.json +1 -1
  125. package/dist/js/components/Avatar/package.json +1 -1
  126. package/dist/js/components/BackToTop/package.json +1 -1
  127. package/dist/js/components/Backdrop/package.json +1 -1
  128. package/dist/js/components/BackgroundImage/package.json +1 -1
  129. package/dist/js/components/Badge/package.json +1 -1
  130. package/dist/js/components/Banner/package.json +1 -1
  131. package/dist/js/components/Brand/package.json +1 -1
  132. package/dist/js/components/Breadcrumb/package.json +1 -1
  133. package/dist/js/components/Button/package.json +1 -1
  134. package/dist/js/components/CalendarMonth/package.json +1 -1
  135. package/dist/js/components/Card/package.json +1 -1
  136. package/dist/js/components/Checkbox/package.json +1 -1
  137. package/dist/js/components/Chip/package.json +1 -1
  138. package/dist/js/components/ClipboardCopy/package.json +1 -1
  139. package/dist/js/components/CodeBlock/package.json +1 -1
  140. package/dist/js/components/DataList/package.json +1 -1
  141. package/dist/js/components/DatePicker/package.json +1 -1
  142. package/dist/js/components/DescriptionList/package.json +1 -1
  143. package/dist/js/components/Divider/package.json +1 -1
  144. package/dist/js/components/DragDrop/package.json +1 -1
  145. package/dist/js/components/Drawer/package.json +1 -1
  146. package/dist/js/components/Dropdown/Dropdown.d.ts.map +1 -1
  147. package/dist/js/components/Dropdown/Dropdown.js +2 -4
  148. package/dist/js/components/Dropdown/Dropdown.js.map +1 -1
  149. package/dist/js/components/Dropdown/package.json +1 -1
  150. package/dist/js/components/DualListSelector/package.json +1 -1
  151. package/dist/js/components/EmptyState/package.json +1 -1
  152. package/dist/js/components/ExpandableSection/package.json +1 -1
  153. package/dist/js/components/FileUpload/package.json +1 -1
  154. package/dist/js/components/Form/package.json +1 -1
  155. package/dist/js/components/FormSelect/package.json +1 -1
  156. package/dist/js/components/HelperText/package.json +1 -1
  157. package/dist/js/components/Hint/package.json +1 -1
  158. package/dist/js/components/Icon/package.json +1 -1
  159. package/dist/js/components/InputGroup/package.json +1 -1
  160. package/dist/js/components/JumpLinks/package.json +1 -1
  161. package/dist/js/components/Label/package.json +1 -1
  162. package/dist/js/components/LabelGroup/package.json +1 -1
  163. package/dist/js/components/List/package.json +1 -1
  164. package/dist/js/components/LoginPage/package.json +1 -1
  165. package/dist/js/components/Masthead/package.json +1 -1
  166. package/dist/js/components/Menu/package.json +1 -1
  167. package/dist/js/components/MenuToggle/MenuToggle.d.ts +3 -1
  168. package/dist/js/components/MenuToggle/MenuToggle.d.ts.map +1 -1
  169. package/dist/js/components/MenuToggle/MenuToggle.js +1 -3
  170. package/dist/js/components/MenuToggle/MenuToggle.js.map +1 -1
  171. package/dist/js/components/MenuToggle/package.json +1 -1
  172. package/dist/js/components/Modal/package.json +1 -1
  173. package/dist/js/components/MultipleFileUpload/package.json +1 -1
  174. package/dist/js/components/Nav/Nav.d.ts +4 -6
  175. package/dist/js/components/Nav/Nav.d.ts.map +1 -1
  176. package/dist/js/components/Nav/Nav.js +3 -4
  177. package/dist/js/components/Nav/Nav.js.map +1 -1
  178. package/dist/js/components/Nav/NavItem.js +1 -1
  179. package/dist/js/components/Nav/NavItem.js.map +1 -1
  180. package/dist/js/components/Nav/package.json +1 -1
  181. package/dist/js/components/NotificationBadge/package.json +1 -1
  182. package/dist/js/components/NotificationDrawer/package.json +1 -1
  183. package/dist/js/components/NumberInput/package.json +1 -1
  184. package/dist/js/components/OverflowMenu/package.json +1 -1
  185. package/dist/js/components/Page/package.json +1 -1
  186. package/dist/js/components/Pagination/package.json +1 -1
  187. package/dist/js/components/Panel/package.json +1 -1
  188. package/dist/js/components/Popover/package.json +1 -1
  189. package/dist/js/components/Progress/package.json +1 -1
  190. package/dist/js/components/ProgressStepper/package.json +1 -1
  191. package/dist/js/components/Radio/package.json +1 -1
  192. package/dist/js/components/SearchInput/package.json +1 -1
  193. package/dist/js/components/Select/package.json +1 -1
  194. package/dist/js/components/Sidebar/package.json +1 -1
  195. package/dist/js/components/SimpleList/package.json +1 -1
  196. package/dist/js/components/Skeleton/package.json +1 -1
  197. package/dist/js/components/SkipToContent/package.json +1 -1
  198. package/dist/js/components/Slider/package.json +1 -1
  199. package/dist/js/components/Spinner/package.json +1 -1
  200. package/dist/js/components/Switch/package.json +1 -1
  201. package/dist/js/components/Tabs/package.json +1 -1
  202. package/dist/js/components/Text/package.json +1 -1
  203. package/dist/js/components/TextArea/package.json +1 -1
  204. package/dist/js/components/TextInput/package.json +1 -1
  205. package/dist/js/components/TextInputGroup/package.json +1 -1
  206. package/dist/js/components/Tile/package.json +1 -1
  207. package/dist/js/components/TimePicker/package.json +1 -1
  208. package/dist/js/components/Timestamp/package.json +1 -1
  209. package/dist/js/components/Title/package.json +1 -1
  210. package/dist/js/components/ToggleGroup/package.json +1 -1
  211. package/dist/js/components/Toolbar/package.json +1 -1
  212. package/dist/js/components/Tooltip/package.json +1 -1
  213. package/dist/js/components/TreeView/package.json +1 -1
  214. package/dist/js/components/Truncate/package.json +1 -1
  215. package/dist/js/components/Wizard/hooks/package.json +1 -1
  216. package/dist/js/components/Wizard/package.json +1 -1
  217. package/dist/js/components/package.json +1 -1
  218. package/dist/js/deprecated/components/ApplicationLauncher/package.json +1 -1
  219. package/dist/js/deprecated/components/ContextSelector/package.json +1 -1
  220. package/dist/js/deprecated/components/Dropdown/package.json +1 -1
  221. package/dist/js/deprecated/components/OptionsMenu/package.json +1 -1
  222. package/dist/js/deprecated/components/PageHeader/package.json +1 -1
  223. package/dist/js/deprecated/components/Select/package.json +1 -1
  224. package/dist/js/deprecated/components/Wizard/package.json +1 -1
  225. package/dist/js/deprecated/components/package.json +1 -1
  226. package/dist/js/deprecated/package.json +1 -1
  227. package/dist/js/helpers/Popper/thirdparty/popper-core/package.json +1 -1
  228. package/dist/js/helpers/package.json +1 -1
  229. package/dist/js/layouts/Bullseye/package.json +1 -1
  230. package/dist/js/layouts/Flex/package.json +1 -1
  231. package/dist/js/layouts/Gallery/package.json +1 -1
  232. package/dist/js/layouts/Grid/package.json +1 -1
  233. package/dist/js/layouts/Level/package.json +1 -1
  234. package/dist/js/layouts/Split/package.json +1 -1
  235. package/dist/js/layouts/Stack/package.json +1 -1
  236. package/dist/js/layouts/package.json +1 -1
  237. package/dist/js/next/components/package.json +1 -1
  238. package/dist/js/next/package.json +1 -1
  239. package/dist/js/package.json +1 -1
  240. package/dist/umd/react-core.min.js +1 -1
  241. package/package.json +2 -2
  242. package/src/components/ActionList/examples/ActionList.md +1 -6
  243. package/src/components/ActionList/examples/ActionListSingleGroup.tsx +50 -38
  244. package/src/components/Breadcrumb/examples/Breadcrumb.md +1 -5
  245. package/src/components/Breadcrumb/examples/BreadcrumbDropdown.tsx +34 -21
  246. package/src/components/Card/examples/Card.md +9 -14
  247. package/src/components/Card/examples/CardExpandable.tsx +44 -31
  248. package/src/components/Card/examples/CardExpandableWithIcon.tsx +50 -29
  249. package/src/components/Card/examples/CardHeaderInCardHead.tsx +50 -29
  250. package/src/components/Card/examples/CardLegacySelectable.tsx +52 -33
  251. package/src/components/Card/examples/CardOnlyActionsInCardHead.tsx +48 -29
  252. package/src/components/Card/examples/CardSelectable.tsx +52 -36
  253. package/src/components/Card/examples/CardWithImageAndActions.tsx +51 -29
  254. package/src/components/DataList/__tests__/DataList.test.tsx +10 -11
  255. package/src/components/DataList/__tests__/__snapshots__/DataList.test.tsx.snap +86 -19
  256. package/src/components/DataList/examples/DataList.md +1 -6
  257. package/src/components/DataList/examples/DataListActions.tsx +39 -23
  258. package/src/components/DataList/examples/DataListCheckboxes.tsx +106 -61
  259. package/src/components/DataList/examples/DataListExpandable.tsx +103 -55
  260. package/src/components/DataList/examples/DataListMixedExpandable.tsx +105 -57
  261. package/src/components/DataList/examples/DataListSelectableRows.tsx +71 -39
  262. package/src/components/DataList/examples/DataListWidthModifiers.tsx +81 -39
  263. package/src/components/Dropdown/Dropdown.tsx +10 -13
  264. package/src/components/Dropdown/__tests__/__snapshots__/Dropdown.test.tsx.snap +29 -32
  265. package/src/components/Dropdown/examples/Dropdown.md +0 -1
  266. package/src/components/Dropdown/examples/DropdownBasic.tsx +22 -16
  267. package/src/components/Dropdown/examples/DropdownWithDescriptions.tsx +13 -18
  268. package/src/components/Dropdown/examples/DropdownWithGroups.tsx +30 -16
  269. package/src/components/Dropdown/examples/DropdownWithKebabToggle.tsx +22 -16
  270. package/src/components/DualListSelector/examples/DualListSelector.md +1 -5
  271. package/src/components/DualListSelector/examples/DualListSelectorComplexOptionsActions.tsx +60 -36
  272. package/src/components/Hint/examples/Hint.md +1 -6
  273. package/src/components/Hint/examples/HintBasicWithTitle.tsx +58 -32
  274. package/src/components/Hint/examples/HintBasicWithoutTitle.tsx +57 -32
  275. package/src/components/InputGroup/examples/InputGroup.md +0 -5
  276. package/src/components/InputGroup/examples/InputGroupWithDropdown.tsx +32 -24
  277. package/src/components/Menu/examples/Menu.md +1 -5
  278. package/src/components/Menu/examples/MenuWithDrilldownBreadcrumbs.tsx +120 -89
  279. package/src/components/MenuToggle/MenuToggle.tsx +4 -3
  280. package/src/components/MenuToggle/__tests__/__snapshots__/MenuToggle.test.tsx.snap +10 -18
  281. package/src/components/MenuToggle/examples/MenuToggle.md +35 -5
  282. package/src/components/Modal/examples/Modal.md +0 -5
  283. package/src/components/Modal/examples/ModalWithDropdown.tsx +40 -34
  284. package/src/components/Nav/Nav.tsx +20 -23
  285. package/src/components/Nav/NavItem.tsx +1 -1
  286. package/src/components/Nav/examples/Nav.md +24 -0
  287. package/src/components/Nav/examples/NavDefault.tsx +1 -1
  288. package/src/components/Nav/examples/NavExpandable.tsx +8 -2
  289. package/src/components/Nav/examples/NavExpandableThirdLevel.tsx +8 -2
  290. package/src/components/Nav/examples/NavFlyout.tsx +1 -1
  291. package/src/components/Nav/examples/NavGrouped.tsx +1 -1
  292. package/src/components/Nav/examples/NavHorizontalSubNav.tsx +2 -2
  293. package/src/components/Nav/examples/NavLegacyTertiary.tsx +2 -2
  294. package/src/components/Nav/examples/NavMixed.tsx +4 -1
  295. package/src/components/NotificationDrawer/examples/NotificationDrawer.md +1 -8
  296. package/src/components/NotificationDrawer/examples/NotificationDrawerBasic.tsx +145 -72
  297. package/src/components/NotificationDrawer/examples/NotificationDrawerGroups.tsx +187 -131
  298. package/src/components/Toolbar/examples/Toolbar.md +0 -9
  299. package/src/components/Toolbar/examples/ToolbarStacked.tsx +75 -58
  300. package/src/components/Toolbar/examples/ToolbarWithFilters.tsx +57 -88
  301. package/src/components/TreeView/examples/TreeView.md +42 -30
  302. package/src/demos/AlertGroup.md +1 -6
  303. package/src/demos/Card/Card.md +75 -80
  304. package/src/demos/CardDemos.md +40 -34
  305. package/src/demos/DataListDemo.md +130 -70
  306. package/src/demos/DatePicker/DatePicker.md +1 -89
  307. package/src/demos/DateTimePicker.md +90 -5
  308. package/src/demos/Masthead.md +1 -7
  309. package/src/demos/Nav.md +225 -167
  310. package/src/demos/NotificationDrawer/NotificationDrawer.md +487 -357
  311. package/src/demos/Page.md +1 -7
  312. package/src/demos/PrimaryDetail.md +193 -211
  313. package/src/demos/SearchInput/SearchInput.md +165 -124
  314. package/src/demos/Tabs.md +0 -1
  315. package/src/demos/Toolbar.md +169 -190
  316. package/src/demos/Wizard/WizardDemo.md +2 -2
  317. package/src/demos/examples/AlertGroup/AlertGroupToastWithNotificationDrawer.tsx +61 -49
  318. package/src/demos/examples/DashboardHeader.js +96 -81
  319. package/src/demos/examples/DashboardWrapper.js +1 -1
  320. package/src/demos/examples/DateTimePicker/DateTimePicker.tsx +29 -26
  321. package/src/demos/examples/Masthead/MastheadWithUtilitiesAndUserDropdownMenu.tsx +85 -71
  322. package/src/demos/examples/Page/PageStickySectionBreadcrumb.tsx +91 -76
  323. package/src/demos/examples/Page/PageStickySectionGroup.tsx +91 -76
  324. package/src/demos/examples/Page/PageStickySectionGroupAlternate.tsx +91 -76
  325. 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>
@@ -4,12 +4,11 @@ import { css } from '@patternfly/react-styles';
4
4
  import { getOUIAProps, OUIAProps, getDefaultOUIAId } from '../../helpers';
5
5
 
6
6
  export type NavSelectClickHandler = (
7
- e: React.FormEvent<HTMLInputElement>,
7
+ event: React.FormEvent<HTMLInputElement>,
8
8
  itemId: number | string,
9
9
  groupId: number | string,
10
10
  to: string
11
11
  ) => void;
12
-
13
12
  export interface NavProps
14
13
  extends Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>, 'onSelect'>,
15
14
  OUIAProps {
@@ -18,18 +17,22 @@ export interface NavProps
18
17
  /** Additional classes added to the container */
19
18
  className?: string;
20
19
  /** Callback for updating when item selection changes */
21
- onSelect?: (selectedItem: {
22
- groupId: number | string;
23
- itemId: number | string;
24
- to: string;
25
- event: React.FormEvent<HTMLInputElement>;
26
- }) => void;
20
+ onSelect?: (
21
+ event: React.FormEvent<HTMLInputElement>,
22
+ selectedItem: {
23
+ groupId: number | string;
24
+ itemId: number | string;
25
+ to: string;
26
+ }
27
+ ) => void;
27
28
  /** Callback for when a list is expanded or collapsed */
28
- onToggle?: (toggledItem: {
29
- groupId: number | string;
30
- isExpanded: boolean;
31
- event: React.MouseEvent<HTMLButtonElement>;
32
- }) => void;
29
+ onToggle?: (
30
+ event: React.MouseEvent<HTMLButtonElement>,
31
+ toggledItem: {
32
+ groupId: number | string;
33
+ isExpanded: boolean;
34
+ }
35
+ ) => void;
33
36
  /** Accessible label for the nav when there are multiple navs on the page */
34
37
  'aria-label'?: string;
35
38
  /** Indicates which theme color to use */
@@ -49,12 +52,7 @@ export interface NavContextProps {
49
52
  itemId: number | string,
50
53
  to: string,
51
54
  preventDefault: boolean,
52
- onClick: (
53
- e: React.FormEvent<HTMLInputElement>,
54
- itemId: number | string,
55
- groupId: number | string,
56
- to: string
57
- ) => void
55
+ onClick: NavSelectClickHandler
58
56
  ) => void;
59
57
  onToggle?: (event: React.MouseEvent<HTMLButtonElement>, groupId: number | string, expanded: boolean) => void;
60
58
  updateIsScrollable?: (isScrollable: boolean) => void;
@@ -99,7 +97,7 @@ export class Nav extends React.Component<
99
97
  event.preventDefault();
100
98
  }
101
99
 
102
- this.props.onSelect({ groupId, itemId, event, to });
100
+ this.props.onSelect(event, { groupId, itemId, to });
103
101
 
104
102
  if (onClick) {
105
103
  onClick(event, itemId, groupId, to);
@@ -108,8 +106,7 @@ export class Nav extends React.Component<
108
106
 
109
107
  // Callback from NavExpandable
110
108
  onToggle(event: React.MouseEvent<HTMLButtonElement>, groupId: number | string, toggleValue: boolean) {
111
- this.props.onToggle({
112
- event,
109
+ this.props.onToggle(event, {
113
110
  groupId,
114
111
  isExpanded: toggleValue
115
112
  });
@@ -153,7 +150,7 @@ export class Nav extends React.Component<
153
150
  updateIsScrollable: (isScrollable: boolean) => this.setState({ isScrollable }),
154
151
  isHorizontal: ['horizontal', 'tertiary', 'horizontal-subnav'].includes(variant),
155
152
  flyoutRef: this.state.flyoutRef,
156
- setFlyoutRef: flyoutRef => this.setState({ flyoutRef }),
153
+ setFlyoutRef: (flyoutRef) => this.setState({ flyoutRef }),
157
154
  navRef: this.navRef
158
155
  }}
159
156
  >
@@ -49,7 +49,7 @@ export const NavItem: React.FunctionComponent<NavItemProps> = ({
49
49
  groupId = null as string,
50
50
  itemId = null as string,
51
51
  preventDefault = false,
52
- onClick = null as NavSelectClickHandler,
52
+ onClick,
53
53
  component = 'a',
54
54
  flyout,
55
55
  onShowFlyout,
@@ -13,6 +13,7 @@ import './nav.css';
13
13
  ### Default
14
14
 
15
15
  ```ts file="./NavDefault.tsx"
16
+
16
17
  ```
17
18
 
18
19
  ### Grouped
@@ -20,31 +21,37 @@ import './nav.css';
20
21
  The following example shows two navigation groups, each with a `title` prop passed into the nav group component. To keep nav groups accessible an `aria-label` must be passed in if the `title` prop is not passed in.
21
22
 
22
23
  ```ts file="./NavGrouped.tsx"
24
+
23
25
  ```
24
26
 
25
27
  ### Expandable
26
28
 
27
29
  ```ts file="./NavExpandable.tsx"
30
+
28
31
  ```
29
32
 
30
33
  ### Expandable third level
31
34
 
32
35
  ```ts file="./NavExpandableThirdLevel.tsx"
36
+
33
37
  ```
34
38
 
35
39
  ### Mixed
36
40
 
37
41
  ```ts file="./NavMixed.tsx"
42
+
38
43
  ```
39
44
 
40
45
  ### Horizontal subnav
41
46
 
42
47
  ```ts file="./NavHorizontalSubNav.tsx"
48
+
43
49
  ```
44
50
 
45
51
  ### Legacy tertiary
46
52
 
47
53
  ```ts file="./NavLegacyTertiary.tsx"
54
+
48
55
  ```
49
56
 
50
57
  ### Flyout
@@ -52,9 +59,26 @@ The following example shows two navigation groups, each with a `title` prop pass
52
59
  A flyout should be a `Menu` component. Press `space` or `right arrow` to open a flyout using the keyboard, use the arrow keys to navigate between flyout items, and press `escape` or `left arrow` to close a flyout.
53
60
 
54
61
  ```ts file="./NavFlyout.tsx" isBeta
62
+
55
63
  ```
56
64
 
57
65
  ### Drilldown
58
66
 
59
67
  ```ts isBeta file="./NavDrilldown.tsx"
68
+
69
+ ```
70
+
71
+ ## Types
72
+
73
+ ### NavSelectClickHandler
74
+
75
+ The NavItem `onClick` prop accepts the `NavSelectClickHandler` type, which is made up of the following argument and return types:
76
+
77
+ ```noLive
78
+ (
79
+ event: React.FormEvent<HTMLInputElement>,
80
+ itemId: number | string,
81
+ groupId: number | string,
82
+ to: string
83
+ ) => void;
60
84
  ```
@@ -4,7 +4,7 @@ import { Nav, NavItem, NavList } from '@patternfly/react-core';
4
4
  export const NavDefault: React.FunctionComponent = () => {
5
5
  const [activeItem, setActiveItem] = React.useState(0);
6
6
 
7
- const onSelect = (result: { itemId: number | string }) => {
7
+ const onSelect = (_event: React.FormEvent<HTMLInputElement>, result: { itemId: number | string }) => {
8
8
  setActiveItem(result.itemId as number);
9
9
  };
10
10
 
@@ -5,12 +5,18 @@ export const NavExpandableExample: React.FunctionComponent = () => {
5
5
  const [activeGroup, setActiveGroup] = React.useState('nav-expandable-group-1');
6
6
  const [activeItem, setActiveItem] = React.useState('nav-expandable-group-1_item-1');
7
7
 
8
- const onSelect = (result: { itemId: number | string; groupId: number | string }) => {
8
+ const onSelect = (
9
+ _event: React.FormEvent<HTMLInputElement>,
10
+ result: { itemId: number | string; groupId: number | string }
11
+ ) => {
9
12
  setActiveGroup(result.groupId as string);
10
13
  setActiveItem(result.itemId as string);
11
14
  };
12
15
 
13
- const onToggle = (result: { groupId: number | string; isExpanded: boolean }) => {
16
+ const onToggle = (
17
+ _event: React.MouseEvent<HTMLButtonElement>,
18
+ result: { groupId: number | string; isExpanded: boolean }
19
+ ) => {
14
20
  // eslint-disable-next-line no-console
15
21
  console.log(`Group ${result.groupId} expanded? ${result.isExpanded}`);
16
22
  };
@@ -5,12 +5,18 @@ export const NavExpandableThirdLevel: React.FunctionComponent = () => {
5
5
  const [activeGroup, setActiveGroup] = React.useState('nav-expand3rd-group-1');
6
6
  const [activeItem, setActiveItem] = React.useState('nav-expand3rd-group-1_item-1');
7
7
 
8
- const onSelect = (result: { itemId: number | string; groupId: number | string }) => {
8
+ const onSelect = (
9
+ _event: React.FormEvent<HTMLInputElement>,
10
+ result: { itemId: number | string; groupId: number | string }
11
+ ) => {
9
12
  setActiveGroup(result.groupId as string);
10
13
  setActiveItem(result.itemId as string);
11
14
  };
12
15
 
13
- const onToggle = (result: { groupId: number | string; isExpanded: boolean }) => {
16
+ const onToggle = (
17
+ _event: React.MouseEvent<HTMLButtonElement>,
18
+ result: { groupId: number | string; isExpanded: boolean }
19
+ ) => {
14
20
  // eslint-disable-next-line no-console
15
21
  console.log(`Group ${result.groupId} expanded? ${result.isExpanded}`);
16
22
  };
@@ -4,7 +4,7 @@ import { Nav, NavItem, NavList, Menu, MenuContent, MenuList, MenuItem } from '@p
4
4
  export const NavFlyout: React.FunctionComponent = () => {
5
5
  const [activeItem, setActiveItem] = React.useState('nav-flyout-default-link-1');
6
6
 
7
- const onSelect = (result: { itemId: number | string }) => {
7
+ const onSelect = (event: React.FormEvent<HTMLInputElement>, result: { itemId: number | string }) => {
8
8
  setActiveItem(result.itemId as string);
9
9
  };
10
10
 
@@ -4,7 +4,7 @@ import { Nav, NavItem, NavGroup } from '@patternfly/react-core';
4
4
  export const NavGrouped: React.FunctionComponent = () => {
5
5
  const [activeItem, setActiveItem] = React.useState('group-1_item-1');
6
6
 
7
- const onSelect = (result: { itemId: number | string }) => {
7
+ const onSelect = (_event: React.FormEvent<HTMLInputElement>, result: { itemId: number | string }) => {
8
8
  setActiveItem(result.itemId as string);
9
9
  };
10
10
 
@@ -4,14 +4,14 @@ import { Nav, NavItem, NavList } from '@patternfly/react-core';
4
4
  export const NavHorizontalSubNav: React.FunctionComponent = () => {
5
5
  const [activeItem, setActiveItem] = React.useState(0);
6
6
 
7
- const onSelect = (result: { itemId: number | string }) => {
7
+ const onSelect = (_event: React.FormEvent<HTMLInputElement>, result: { itemId: number | string }) => {
8
8
  setActiveItem(result.itemId as number);
9
9
  };
10
10
 
11
11
  return (
12
12
  <Nav onSelect={onSelect} variant="horizontal-subnav" aria-label="Horizontal subnav local">
13
13
  <NavList>
14
- {Array.apply(0, Array(10)).map(function(_item, index: number) {
14
+ {Array.apply(0, Array(10)).map(function (_item, index: number) {
15
15
  const num = index + 1;
16
16
  return (
17
17
  <NavItem
@@ -4,14 +4,14 @@ import { Nav, NavItem, NavList } from '@patternfly/react-core';
4
4
  export const NavLegacyTertiary: React.FunctionComponent = () => {
5
5
  const [activeItem, setActiveItem] = React.useState(0);
6
6
 
7
- const onSelect = (result: { itemId: number | string }) => {
7
+ const onSelect = (_event: React.FormEvent<HTMLInputElement>, result: { itemId: number | string }) => {
8
8
  setActiveItem(result.itemId as number);
9
9
  };
10
10
 
11
11
  return (
12
12
  <Nav onSelect={onSelect} variant="tertiary" aria-label="Tertiary local">
13
13
  <NavList>
14
- {Array.apply(0, Array(10)).map(function(_item, index: number) {
14
+ {Array.apply(0, Array(10)).map(function (_item, index: number) {
15
15
  const num = index + 1;
16
16
  return (
17
17
  <NavItem
@@ -5,7 +5,10 @@ export const NavMixed: React.FunctionComponent = () => {
5
5
  const [activeGroup, setActiveGroup] = React.useState('');
6
6
  const [activeItem, setActiveItem] = React.useState('ungrouped_item-1');
7
7
 
8
- const onSelect = (result: { itemId: number | string; groupId: number | string | null }) => {
8
+ const onSelect = (
9
+ _event: React.FormEvent<HTMLInputElement>,
10
+ result: { itemId: number | string; groupId: number | string | null }
11
+ ) => {
9
12
  setActiveGroup(result.groupId as string);
10
13
  setActiveItem(result.itemId as string);
11
14
  };
@@ -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