@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,43 +1,51 @@
1
1
  import React from 'react';
2
- import { Button, InputGroup, TextInput } from '@patternfly/react-core';
3
2
  import {
4
- Dropdown as DropdownDeprecated,
5
- DropdownToggle,
6
- DropdownItem as DropdownItemDeprecated
7
- } from '@patternfly/react-core/deprecated';
3
+ Button,
4
+ InputGroup,
5
+ TextInput,
6
+ Dropdown,
7
+ DropdownList,
8
+ DropdownItem,
9
+ MenuToggle,
10
+ MenuToggleElement
11
+ } from '@patternfly/react-core';
8
12
 
9
13
  export const InputGroupWithDropdown: React.FunctionComponent = () => {
10
14
  const [isOpen, setIsOpen] = React.useState<boolean>(false);
11
15
 
12
- const onToggle = (_event: any, isOpen: boolean) => {
13
- setIsOpen(isOpen);
16
+ const onToggle = () => {
17
+ setIsOpen(!isOpen);
14
18
  };
15
19
 
16
20
  const onSelect = () => {
17
21
  setIsOpen(false);
18
22
  };
19
23
 
20
- const dropdownItems = [
21
- <DropdownItemDeprecated key="opt-1" value="Option 1" component="button">
22
- Option 1
23
- </DropdownItemDeprecated>,
24
- <DropdownItemDeprecated key="opt-2" value="Option 2" component="button">
25
- Option 2
26
- </DropdownItemDeprecated>,
27
- <DropdownItemDeprecated key="opt-3" value="Option 3" component="button">
28
- Option 3
29
- </DropdownItemDeprecated>
30
- ];
31
-
32
24
  return (
33
25
  <React.Fragment>
34
26
  <InputGroup>
35
- <DropdownDeprecated
36
- onSelect={onSelect}
37
- toggle={<DropdownToggle onToggle={onToggle}>Dropdown</DropdownToggle>}
27
+ <Dropdown
38
28
  isOpen={isOpen}
39
- dropdownItems={dropdownItems}
40
- />
29
+ onSelect={onSelect}
30
+ onOpenChange={(isOpen: boolean) => setIsOpen(isOpen)}
31
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
32
+ <MenuToggle ref={toggleRef} onClick={onToggle} isExpanded={isOpen}>
33
+ Dropdown
34
+ </MenuToggle>
35
+ )}
36
+ >
37
+ <DropdownList>
38
+ <DropdownItem itemId={0} key="option1">
39
+ Option 1
40
+ </DropdownItem>
41
+ <DropdownItem itemId={1} key="option2">
42
+ Option 2
43
+ </DropdownItem>
44
+ <DropdownItem itemId={2} key="option3">
45
+ Option 3
46
+ </DropdownItem>
47
+ </DropdownList>
48
+ </Dropdown>
41
49
  <TextInput id="textInput-with-dropdown" aria-label="input with dropdown and button" />
42
50
  <Button id="inputDropdownButton1" variant="control">
43
51
  Button
@@ -7,11 +7,6 @@ propComponents: ['Menu', 'MenuList', 'MenuItem', 'MenuItemAction', 'MenuContent'
7
7
  ouia: true
8
8
  ---
9
9
 
10
- import {
11
- Dropdown as DropdownDeprecated,
12
- DropdownItem as DropdownItemDeprecated,
13
- BadgeToggle
14
- } from '@patternfly/react-core/deprecated';
15
10
  import BarsIcon from '@patternfly/react-icons/dist/esm/icons/bars-icon';
16
11
  import ClipboardIcon from '@patternfly/react-icons/dist/esm/icons/clipboard-icon';
17
12
  import CodeBranchIcon from '@patternfly/react-icons/dist/esm/icons/code-branch-icon';
@@ -21,6 +16,7 @@ import TableIcon from '@patternfly/react-icons/dist/esm/icons/table-icon';
21
16
  import BellIcon from '@patternfly/react-icons/dist/esm/icons/bell-icon';
22
17
  import StorageDomainIcon from '@patternfly/react-icons/dist/esm/icons/storage-domain-icon';
23
18
  import AngleLeftIcon from '@patternfly/react-icons/dist/esm/icons/angle-left-icon';
19
+ import CaretDownIcon from '@patternfly/react-icons/dist/esm/icons/caret-down-icon';
24
20
 
25
21
  ## Examples
26
22
 
@@ -10,18 +10,20 @@ import {
10
10
  BreadcrumbItem,
11
11
  BreadcrumbHeading,
12
12
  MenuBreadcrumb,
13
- Checkbox
13
+ Checkbox,
14
+ Dropdown,
15
+ DropdownList,
16
+ DropdownItem,
17
+ MenuToggle,
18
+ MenuToggleElement,
19
+ Badge
14
20
  } from '@patternfly/react-core';
15
- import {
16
- Dropdown as DropdownDeprecated,
17
- DropdownItem as DropdownItemDeprecated,
18
- BadgeToggle
19
- } from '@patternfly/react-core/deprecated';
20
21
  import StorageDomainIcon from '@patternfly/react-icons/dist/esm/icons/storage-domain-icon';
21
22
  import CodeBranchIcon from '@patternfly/react-icons/dist/esm/icons/code-branch-icon';
22
23
  import LayerGroupIcon from '@patternfly/react-icons/dist/esm/icons/layer-group-icon';
23
24
  import AngleLeftIcon from '@patternfly/react-icons/dist/esm/icons/angle-left-icon';
24
25
  import CubeIcon from '@patternfly/react-icons/dist/esm/icons/cube-icon';
26
+ import CaretDownIcon from '@patternfly/react-icons/dist/esm/icons/caret-down-icon';
25
27
 
26
28
  export const MenuWithDrilldownBreadcrumbs: React.FunctionComponent = () => {
27
29
  const [menuDrilledIn, setMenuDrilledIn] = React.useState<string[]>([]);
@@ -93,7 +95,7 @@ export const MenuWithDrilldownBreadcrumbs: React.FunctionComponent = () => {
93
95
  <Breadcrumb>
94
96
  <BreadcrumbItem
95
97
  component="button"
96
- onClick={(event) => drillOut(event, 'breadcrumbs-rootMenu', 'group:start_rollout', null)}
98
+ onClick={(event: any) => drillOut(event, 'breadcrumbs-rootMenu', 'group:start_rollout', null)}
97
99
  >
98
100
  Root
99
101
  </BreadcrumbItem>
@@ -105,31 +107,37 @@ export const MenuWithDrilldownBreadcrumbs: React.FunctionComponent = () => {
105
107
  <Breadcrumb>
106
108
  <BreadcrumbItem
107
109
  component="button"
108
- onClick={(event) => drillOut(event, 'breadcrumbs-rootMenu', 'group:start_rollout', null)}
110
+ onClick={(event: any) => drillOut(event, 'breadcrumbs-rootMenu', 'group:start_rollout', null)}
109
111
  >
110
112
  Root
111
113
  </BreadcrumbItem>
112
114
  <BreadcrumbItem isDropdown>
113
- <DropdownDeprecated
114
- toggle={
115
- <BadgeToggle id="toggle-id" onToggle={(_event: any, open: boolean) => onToggle(open, 'app')}>
116
- 1
117
- </BadgeToggle>
118
- }
115
+ <Dropdown
119
116
  isOpen={isOpen}
120
- dropdownItems={[
121
- <DropdownItemDeprecated
117
+ onOpenChange={(isOpen: boolean) => onToggle(isOpen, 'app')}
118
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
119
+ <MenuToggle ref={toggleRef} onClick={() => onToggle(true, 'app')} isExpanded={isOpen} variant="plain">
120
+ <Badge isRead screenReaderText="additional item">
121
+ 1{' '}
122
+ <span>
123
+ <CaretDownIcon />
124
+ </span>
125
+ </Badge>
126
+ </MenuToggle>
127
+ )}
128
+ >
129
+ <DropdownList>
130
+ <DropdownItem
122
131
  key="dropdown-start"
123
- component="button"
124
132
  icon={<AngleLeftIcon />}
125
- onClick={(event) =>
133
+ onClick={(event: any) =>
126
134
  drillOut(event, 'breadcrumbs-drilldownMenuStart', 'group:app_grouping_start', startRolloutBreadcrumb)
127
135
  }
128
136
  >
129
137
  Start rollout
130
- </DropdownItemDeprecated>
131
- ]}
132
- />
138
+ </DropdownItem>
139
+ </DropdownList>
140
+ </Dropdown>
133
141
  </BreadcrumbItem>
134
142
  <BreadcrumbHeading component="button">Application Grouping</BreadcrumbHeading>
135
143
  </Breadcrumb>
@@ -139,31 +147,37 @@ export const MenuWithDrilldownBreadcrumbs: React.FunctionComponent = () => {
139
147
  <Breadcrumb>
140
148
  <BreadcrumbItem
141
149
  component="button"
142
- onClick={(event) => drillOut(event, 'breadcrumbs-rootMenu', 'group:start_rollout', null)}
150
+ onClick={(event: any) => drillOut(event, 'breadcrumbs-rootMenu', 'group:start_rollout', null)}
143
151
  >
144
152
  Root
145
153
  </BreadcrumbItem>
146
154
  <BreadcrumbItem isDropdown>
147
- <DropdownDeprecated
148
- toggle={
149
- <BadgeToggle id="toggle-id" onToggle={(_event: any, open: boolean) => onToggle(open, 'label')}>
150
- 1
151
- </BadgeToggle>
152
- }
155
+ <Dropdown
153
156
  isOpen={isOpen}
154
- dropdownItems={[
155
- <DropdownItemDeprecated
157
+ onOpenChange={(isOpen: boolean) => onToggle(isOpen, 'label')}
158
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
159
+ <MenuToggle ref={toggleRef} onClick={() => onToggle(true, 'label')} isExpanded={isOpen} variant="plain">
160
+ <Badge isRead screenReaderText="additional item">
161
+ 1{' '}
162
+ <span>
163
+ <CaretDownIcon />
164
+ </span>
165
+ </Badge>
166
+ </MenuToggle>
167
+ )}
168
+ >
169
+ <DropdownList>
170
+ <DropdownItem
156
171
  key="dropdown-start"
157
- component="button"
158
172
  icon={<AngleLeftIcon />}
159
- onClick={(event) =>
173
+ onClick={(event: any) =>
160
174
  drillOut(event, 'breadcrumbs-drilldownMenuStart', 'group:labels_start', startRolloutBreadcrumb)
161
175
  }
162
176
  >
163
177
  Start rollout
164
- </DropdownItemDeprecated>
165
- ]}
166
- />
178
+ </DropdownItem>
179
+ </DropdownList>
180
+ </Dropdown>
167
181
  </BreadcrumbItem>
168
182
  <BreadcrumbHeading component="button">Labels</BreadcrumbHeading>
169
183
  </Breadcrumb>
@@ -173,7 +187,7 @@ export const MenuWithDrilldownBreadcrumbs: React.FunctionComponent = () => {
173
187
  <Breadcrumb>
174
188
  <BreadcrumbItem
175
189
  component="button"
176
- onClick={(event) => drillOut(event, 'breadcrumbs-rootMenu', 'group:pause_rollout', null)}
190
+ onClick={(event: any) => drillOut(event, 'breadcrumbs-rootMenu', 'group:pause_rollout', null)}
177
191
  >
178
192
  Root
179
193
  </BreadcrumbItem>
@@ -185,31 +199,37 @@ export const MenuWithDrilldownBreadcrumbs: React.FunctionComponent = () => {
185
199
  <Breadcrumb>
186
200
  <BreadcrumbItem
187
201
  component="button"
188
- onClick={(event) => drillOut(event, 'breadcrumbs-rootMenu', 'group:pause_rollout', null)}
202
+ onClick={(event: any) => drillOut(event, 'breadcrumbs-rootMenu', 'group:pause_rollout', null)}
189
203
  >
190
204
  Root
191
205
  </BreadcrumbItem>
192
206
  <BreadcrumbItem isDropdown>
193
- <DropdownDeprecated
194
- toggle={
195
- <BadgeToggle id="toggle-id" onToggle={(_event: any, open: boolean) => onToggle(open, 'pause-app')}>
196
- 1
197
- </BadgeToggle>
198
- }
207
+ <Dropdown
199
208
  isOpen={isOpen}
200
- dropdownItems={[
201
- <DropdownItemDeprecated
209
+ onOpenChange={(isOpen: boolean) => onToggle(isOpen, 'pause-app')}
210
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
211
+ <MenuToggle ref={toggleRef} onClick={() => onToggle(true, 'pause-app')} isExpanded={isOpen} variant="plain">
212
+ <Badge isRead screenReaderText="additional item">
213
+ 1{' '}
214
+ <span>
215
+ <CaretDownIcon />
216
+ </span>
217
+ </Badge>
218
+ </MenuToggle>
219
+ )}
220
+ >
221
+ <DropdownList>
222
+ <DropdownItem
202
223
  key="dropdown-pause"
203
- component="button"
204
224
  icon={<AngleLeftIcon />}
205
- onClick={(event) =>
225
+ onClick={(event: any) =>
206
226
  drillOut(event, 'breadcrumbs-drilldownMenuPause', 'group:app_grouping', pauseRolloutsBreadcrumb)
207
227
  }
208
228
  >
209
229
  Pause rollouts
210
- </DropdownItemDeprecated>
211
- ]}
212
- />
230
+ </DropdownItem>
231
+ </DropdownList>
232
+ </Dropdown>
213
233
  </BreadcrumbItem>
214
234
  <BreadcrumbHeading component="button">Application Grouping</BreadcrumbHeading>
215
235
  </Breadcrumb>
@@ -219,31 +239,42 @@ export const MenuWithDrilldownBreadcrumbs: React.FunctionComponent = () => {
219
239
  <Breadcrumb>
220
240
  <BreadcrumbItem
221
241
  component="button"
222
- onClick={(event) => drillOut(event, 'breadcrumbs-rootMenu', 'group:pause_rollout', null)}
242
+ onClick={(event: any) => drillOut(event, 'breadcrumbs-rootMenu', 'group:pause_rollout', null)}
223
243
  >
224
244
  Root
225
245
  </BreadcrumbItem>
226
246
  <BreadcrumbItem isDropdown>
227
- <DropdownDeprecated
228
- toggle={
229
- <BadgeToggle id="toggle-id" onToggle={(_event: any, open: boolean) => onToggle(open, 'pause-label')}>
230
- 1
231
- </BadgeToggle>
232
- }
247
+ <Dropdown
233
248
  isOpen={isOpen}
234
- dropdownItems={[
235
- <DropdownItemDeprecated
249
+ onOpenChange={(isOpen: boolean) => onToggle(isOpen, 'pause-label')}
250
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
251
+ <MenuToggle
252
+ ref={toggleRef}
253
+ onClick={() => onToggle(true, 'pause-label')}
254
+ isExpanded={isOpen}
255
+ variant="plain"
256
+ >
257
+ <Badge isRead screenReaderText="additional item">
258
+ 1{' '}
259
+ <span>
260
+ <CaretDownIcon />
261
+ </span>
262
+ </Badge>
263
+ </MenuToggle>
264
+ )}
265
+ >
266
+ <DropdownList>
267
+ <DropdownItem
236
268
  key="dropdown-pause"
237
- component="button"
238
269
  icon={<AngleLeftIcon />}
239
- onClick={(event) =>
270
+ onClick={(event: any) =>
240
271
  drillOut(event, 'breadcrumbs-drilldownMenuPause', 'group:labels', pauseRolloutsBreadcrumb)
241
272
  }
242
273
  >
243
274
  Pause rollouts
244
- </DropdownItemDeprecated>
245
- ]}
246
- />
275
+ </DropdownItem>
276
+ </DropdownList>
277
+ </Dropdown>
247
278
  </BreadcrumbItem>
248
279
  <BreadcrumbHeading component="button">Labels</BreadcrumbHeading>
249
280
  </Breadcrumb>
@@ -253,7 +284,7 @@ export const MenuWithDrilldownBreadcrumbs: React.FunctionComponent = () => {
253
284
  <Breadcrumb>
254
285
  <BreadcrumbItem
255
286
  component="button"
256
- onClick={(event) => drillOut(event, 'breadcrumbs-rootMenu', 'group:storage', null)}
287
+ onClick={(event: any) => drillOut(event, 'breadcrumbs-rootMenu', 'group:storage', null)}
257
288
  >
258
289
  Root
259
290
  </BreadcrumbItem>
@@ -304,34 +335,34 @@ export const MenuWithDrilldownBreadcrumbs: React.FunctionComponent = () => {
304
335
  onClick={() => setBreadcrumb(appGroupingBreadcrumb(false))}
305
336
  drilldownMenu={
306
337
  <DrilldownMenu id="breadcrumbs-drilldownMenuStartGrouping">
307
- <MenuItem itemId="group_a">Group A</MenuItem>
308
- <MenuItem itemId="group_b">Group B</MenuItem>
309
- <MenuItem itemId="group_c">Group C</MenuItem>
310
- <MenuItem itemId="group_d">Group D</MenuItem>
311
- <MenuItem itemId="group_e">Group E</MenuItem>
312
- <MenuItem itemId="group_f">Group F</MenuItem>
313
- <MenuItem itemId="group_g">Group G</MenuItem>
338
+ <MenuItem itemId="group_a">Group A (start rollout)</MenuItem>
339
+ <MenuItem itemId="group_b">Group B (start rollout)</MenuItem>
340
+ <MenuItem itemId="group_c">Group C (start rollout)</MenuItem>
341
+ <MenuItem itemId="group_d">Group D (start rollout)</MenuItem>
342
+ <MenuItem itemId="group_e">Group E (start rollout)</MenuItem>
343
+ <MenuItem itemId="group_f">Group F (start rollout)</MenuItem>
344
+ <MenuItem itemId="group_g">Group G (start rollout)</MenuItem>
314
345
  </DrilldownMenu>
315
346
  }
316
347
  >
317
- Application grouping
348
+ Application grouping (start rollout)
318
349
  </MenuItem>
319
- <MenuItem itemId="count">Count</MenuItem>
350
+ <MenuItem itemId="count">Count (start rollout)</MenuItem>
320
351
  <MenuItem
321
352
  itemId="group:labels_start"
322
353
  direction="down"
323
354
  onClick={() => setBreadcrumb(labelsBreadcrumb(false))}
324
355
  drilldownMenu={
325
356
  <DrilldownMenu id="breadcrumbs-drilldownMenuStartLabels">
326
- <MenuItem itemId="label_1">Label 1</MenuItem>
327
- <MenuItem itemId="label_2">Label 2</MenuItem>
328
- <MenuItem itemId="label_3">Label 3</MenuItem>
357
+ <MenuItem itemId="label_1">Label 1 (start rollout)</MenuItem>
358
+ <MenuItem itemId="label_2">Label 2 (start rollout)</MenuItem>
359
+ <MenuItem itemId="label_3">Label 3 (start rollout)</MenuItem>
329
360
  </DrilldownMenu>
330
361
  }
331
362
  >
332
- Labels
363
+ Labels (start rollout)
333
364
  </MenuItem>
334
- <MenuItem itemId="annotations">Annotations</MenuItem>
365
+ <MenuItem itemId="annotations">Annotations (start rollout)</MenuItem>
335
366
  </DrilldownMenu>
336
367
  }
337
368
  >
@@ -350,30 +381,30 @@ export const MenuWithDrilldownBreadcrumbs: React.FunctionComponent = () => {
350
381
  onClick={() => setBreadcrumb(pauseRolloutsAppGrpBreadcrumb(false))}
351
382
  drilldownMenu={
352
383
  <DrilldownMenu id="breadcrumbs-drilldownMenuGrouping">
353
- <MenuItem itemId="group_a">Group A</MenuItem>
354
- <MenuItem itemId="group_b">Group B</MenuItem>
355
- <MenuItem itemId="group_c">Group C</MenuItem>
384
+ <MenuItem itemId="group_a">Group A (pause rollouts)</MenuItem>
385
+ <MenuItem itemId="group_b">Group B (pause rollouts)</MenuItem>
386
+ <MenuItem itemId="group_c">Group C (pause rollouts)</MenuItem>
356
387
  </DrilldownMenu>
357
388
  }
358
389
  >
359
- Application grouping
390
+ Application grouping (pause rollouts)
360
391
  </MenuItem>
361
- <MenuItem itemId="count">Count</MenuItem>
392
+ <MenuItem itemId="count">Count (pause rollouts)</MenuItem>
362
393
  <MenuItem
363
394
  itemId="group:labels"
364
395
  direction="down"
365
396
  onClick={() => setBreadcrumb(pauseRolloutsLabelsBreadcrumb(false))}
366
397
  drilldownMenu={
367
398
  <DrilldownMenu id="breadcrumbs-drilldownMenuLabels">
368
- <MenuItem itemId="label_1">Label 1</MenuItem>
369
- <MenuItem itemId="label_2">Label 2</MenuItem>
370
- <MenuItem itemId="label_3">Label 3</MenuItem>
399
+ <MenuItem itemId="label_1">Label 1 (pause rollouts)</MenuItem>
400
+ <MenuItem itemId="label_2">Label 2 (pause rollouts)</MenuItem>
401
+ <MenuItem itemId="label_3">Label 3 (pause rollouts)</MenuItem>
371
402
  </DrilldownMenu>
372
403
  }
373
404
  >
374
- Labels
405
+ Labels (pause rollouts)
375
406
  </MenuItem>
376
- <MenuItem itemId="annotations">Annotations</MenuItem>
407
+ <MenuItem itemId="annotations">Annotations (pause rollouts)</MenuItem>
377
408
  </DrilldownMenu>
378
409
  }
379
410
  >
@@ -3,7 +3,6 @@ import styles from '@patternfly/react-styles/css/components/MenuToggle/menu-togg
3
3
  import { css } from '@patternfly/react-styles';
4
4
  import CaretDownIcon from '@patternfly/react-icons/dist/esm/icons/caret-down-icon';
5
5
  import { BadgeProps } from '../Badge';
6
- import { Icon } from '../Icon';
7
6
 
8
7
  export type MenuToggleElement = HTMLDivElement | HTMLButtonElement;
9
8
 
@@ -38,7 +37,9 @@ export interface MenuToggleProps
38
37
  splitButtonOptions?: SplitButtonOptions;
39
38
  /** Variant styles of the menu toggle */
40
39
  variant?: 'default' | 'plain' | 'primary' | 'plainText' | 'secondary' | 'typeahead';
41
- /** Optional icon rendered inside the toggle, before the children content */
40
+ /** Optional icon or image rendered inside the toggle, before the children content. It is
41
+ * recommended to wrap most basic icons in our icon component.
42
+ */
42
43
  icon?: React.ReactNode;
43
44
  /** Optional badge rendered inside the toggle, after the children content */
44
45
  badge?: BadgeProps | React.ReactNode;
@@ -86,7 +87,7 @@ export class MenuToggleBase extends React.Component<MenuToggleProps> {
86
87
 
87
88
  const content = (
88
89
  <>
89
- {icon && <span className={css(styles.menuToggleIcon)}><Icon>{icon}</Icon></span>}
90
+ {icon && <span className={css(styles.menuToggleIcon)}>{icon}</span>}
90
91
  {isTypeahead ? children : <span className={css(styles.menuToggleText)}>{children}</span>}
91
92
  {React.isValidElement(badge) && <span className={css(styles.menuToggleCount)}>{badge}</span>}
92
93
  {isTypeahead ? (
@@ -124,25 +124,17 @@ exports[`menu toggle shows icon 1`] = `
124
124
  <span
125
125
  class="pf-c-menu-toggle__icon"
126
126
  >
127
- <span
128
- class="pf-c-icon"
127
+ <svg
128
+ aria-hidden="true"
129
+ class="pf-svg"
130
+ fill="currentColor"
131
+ role="img"
132
+ viewBox="0 0 512 512"
129
133
  >
130
- <span
131
- class="pf-c-icon__content"
132
- >
133
- <svg
134
- aria-hidden="true"
135
- class="pf-svg"
136
- fill="currentColor"
137
- role="img"
138
- viewBox="0 0 512 512"
139
- >
140
- <path
141
- d="M487.4 315.7l-42.6-24.6c4.3-23.2 4.3-47 0-70.2l42.6-24.6c4.9-2.8 7.1-8.6 5.5-14-11.1-35.6-30-67.8-54.7-94.6-3.8-4.1-10-5.1-14.8-2.3L380.8 110c-17.9-15.4-38.5-27.3-60.8-35.1V25.8c0-5.6-3.9-10.5-9.4-11.7-36.7-8.2-74.3-7.8-109.2 0-5.5 1.2-9.4 6.1-9.4 11.7V75c-22.2 7.9-42.8 19.8-60.8 35.1L88.7 85.5c-4.9-2.8-11-1.9-14.8 2.3-24.7 26.7-43.6 58.9-54.7 94.6-1.7 5.4.6 11.2 5.5 14L67.3 221c-4.3 23.2-4.3 47 0 70.2l-42.6 24.6c-4.9 2.8-7.1 8.6-5.5 14 11.1 35.6 30 67.8 54.7 94.6 3.8 4.1 10 5.1 14.8 2.3l42.6-24.6c17.9 15.4 38.5 27.3 60.8 35.1v49.2c0 5.6 3.9 10.5 9.4 11.7 36.7 8.2 74.3 7.8 109.2 0 5.5-1.2 9.4-6.1 9.4-11.7v-49.2c22.2-7.9 42.8-19.8 60.8-35.1l42.6 24.6c4.9 2.8 11 1.9 14.8-2.3 24.7-26.7 43.6-58.9 54.7-94.6 1.5-5.5-.7-11.3-5.6-14.1zM256 336c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"
142
- />
143
- </svg>
144
- </span>
145
- </span>
134
+ <path
135
+ d="M487.4 315.7l-42.6-24.6c4.3-23.2 4.3-47 0-70.2l42.6-24.6c4.9-2.8 7.1-8.6 5.5-14-11.1-35.6-30-67.8-54.7-94.6-3.8-4.1-10-5.1-14.8-2.3L380.8 110c-17.9-15.4-38.5-27.3-60.8-35.1V25.8c0-5.6-3.9-10.5-9.4-11.7-36.7-8.2-74.3-7.8-109.2 0-5.5 1.2-9.4 6.1-9.4 11.7V75c-22.2 7.9-42.8 19.8-60.8 35.1L88.7 85.5c-4.9-2.8-11-1.9-14.8 2.3-24.7 26.7-43.6 58.9-54.7 94.6-1.7 5.4.6 11.2 5.5 14L67.3 221c-4.3 23.2-4.3 47 0 70.2l-42.6 24.6c-4.9 2.8-7.1 8.6-5.5 14 11.1 35.6 30 67.8 54.7 94.6 3.8 4.1 10 5.1 14.8 2.3l42.6-24.6c17.9 15.4 38.5 27.3 60.8 35.1v49.2c0 5.6 3.9 10.5 9.4 11.7 36.7 8.2 74.3 7.8 109.2 0 5.5-1.2 9.4-6.1 9.4-11.7v-49.2c22.2-7.9 42.8-19.8 60.8-35.1l42.6 24.6c4.9 2.8 11 1.9 14.8-2.3 24.7-26.7 43.6-58.9 54.7-94.6 1.5-5.5-.7-11.3-5.6-14.1zM256 336c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"
136
+ />
137
+ </svg>
146
138
  </span>
147
139
  <span
148
140
  class="pf-c-menu-toggle__text"
@@ -67,16 +67,46 @@ import { MenuToggle, Badge } from '@patternfly/react-core';
67
67
 
68
68
  To add a recognizable icon to a menu toggle, use the `icon` property. The following example adds a `CogIcon` to the toggle.
69
69
 
70
+ For most basic icons, it is recommended to wrap it inside our [icon component](/components/icon).
71
+
70
72
  ```ts
71
73
  import React from 'react';
72
- import { MenuToggle } from '@patternfly/react-core';
74
+ import { MenuToggle, Icon } from '@patternfly/react-core';
73
75
  import CogIcon from '@patternfly/react-icons/dist/esm/icons/cog-icon';
74
76
 
75
77
  <React.Fragment>
76
- <MenuToggle icon={<CogIcon />} variant="primary">Icon</MenuToggle>{' '}
77
- <MenuToggle icon={<CogIcon />} variant="secondary">Icon</MenuToggle>{' '}
78
- <MenuToggle icon={<CogIcon />} variant="secondary" isDisabled>Icon</MenuToggle>
79
- </React.Fragment>
78
+ <MenuToggle
79
+ icon={
80
+ <Icon>
81
+ <CogIcon />
82
+ </Icon>
83
+ }
84
+ variant="primary"
85
+ >
86
+ Icon
87
+ </MenuToggle>{' '}
88
+ <MenuToggle
89
+ icon={
90
+ <Icon>
91
+ <CogIcon />
92
+ </Icon>
93
+ }
94
+ variant="secondary"
95
+ >
96
+ Icon
97
+ </MenuToggle>{' '}
98
+ <MenuToggle
99
+ icon={
100
+ <Icon>
101
+ <CogIcon />
102
+ </Icon>
103
+ }
104
+ variant="secondary"
105
+ isDisabled
106
+ >
107
+ Icon
108
+ </MenuToggle>
109
+ </React.Fragment>;
80
110
  ```
81
111
 
82
112
  ### With avatar and text
@@ -6,11 +6,6 @@ propComponents: ['Modal']
6
6
  ouia: true
7
7
  ---
8
8
 
9
- import {
10
- Dropdown as DropdownDeprecated,
11
- DropdownToggle,
12
- DropdownItem as DropdownItemDeprecated
13
- } from '@patternfly/react-core/deprecated';
14
9
  import WarningTriangleIcon from '@patternfly/react-icons/dist/esm/icons/warning-triangle-icon';
15
10
  import CaretDownIcon from '@patternfly/react-icons/dist/esm/icons/caret-down-icon';
16
11
  import BullhornIcon from '@patternfly/react-icons/dist/esm/icons/bullhorn-icon';