@patternfly/react-core 4.244.1 → 4.245.0

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 (290) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/esm/components/Alert/Alert.d.ts +4 -0
  3. package/dist/esm/components/Alert/Alert.d.ts.map +1 -1
  4. package/dist/esm/components/Alert/Alert.js.map +1 -1
  5. package/dist/esm/components/Alert/AlertActionCloseButton.js +2 -4
  6. package/dist/esm/components/Alert/AlertActionCloseButton.js.map +1 -1
  7. package/dist/esm/components/Alert/AlertToggleExpandButton.js +1 -1
  8. package/dist/esm/components/Alert/AlertToggleExpandButton.js.map +1 -1
  9. package/dist/esm/components/Breadcrumb/Breadcrumb.d.ts +4 -0
  10. package/dist/esm/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
  11. package/dist/esm/components/Breadcrumb/Breadcrumb.js.map +1 -1
  12. package/dist/esm/components/Button/Button.d.ts +4 -0
  13. package/dist/esm/components/Button/Button.d.ts.map +1 -1
  14. package/dist/esm/components/Button/Button.js.map +1 -1
  15. package/dist/esm/components/Card/Card.d.ts +4 -0
  16. package/dist/esm/components/Card/Card.d.ts.map +1 -1
  17. package/dist/esm/components/Card/Card.js.map +1 -1
  18. package/dist/esm/components/Checkbox/Checkbox.d.ts +4 -0
  19. package/dist/esm/components/Checkbox/Checkbox.d.ts.map +1 -1
  20. package/dist/esm/components/Checkbox/Checkbox.js.map +1 -1
  21. package/dist/esm/components/Chip/Chip.d.ts +2 -0
  22. package/dist/esm/components/Chip/Chip.d.ts.map +1 -1
  23. package/dist/esm/components/Chip/Chip.js.map +1 -1
  24. package/dist/esm/components/ChipGroup/ChipGroup.d.ts +2 -0
  25. package/dist/esm/components/ChipGroup/ChipGroup.d.ts.map +1 -1
  26. package/dist/esm/components/ChipGroup/ChipGroup.js.map +1 -1
  27. package/dist/esm/components/ContextSelector/ContextSelector.d.ts +4 -0
  28. package/dist/esm/components/ContextSelector/ContextSelector.d.ts.map +1 -1
  29. package/dist/esm/components/ContextSelector/ContextSelector.js.map +1 -1
  30. package/dist/esm/components/Dropdown/Dropdown.d.ts +4 -0
  31. package/dist/esm/components/Dropdown/Dropdown.d.ts.map +1 -1
  32. package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
  33. package/dist/esm/components/Dropdown/DropdownItem.d.ts +4 -0
  34. package/dist/esm/components/Dropdown/DropdownItem.d.ts.map +1 -1
  35. package/dist/esm/components/Dropdown/DropdownItem.js.map +1 -1
  36. package/dist/esm/components/Dropdown/DropdownSeparator.d.ts +4 -0
  37. package/dist/esm/components/Dropdown/DropdownSeparator.d.ts.map +1 -1
  38. package/dist/esm/components/Dropdown/DropdownSeparator.js.map +1 -1
  39. package/dist/esm/components/Dropdown/DropdownToggle.d.ts +4 -0
  40. package/dist/esm/components/Dropdown/DropdownToggle.d.ts.map +1 -1
  41. package/dist/esm/components/Dropdown/DropdownToggle.js.map +1 -1
  42. package/dist/esm/components/Dropdown/DropdownToggleCheckbox.d.ts +4 -0
  43. package/dist/esm/components/Dropdown/DropdownToggleCheckbox.d.ts.map +1 -1
  44. package/dist/esm/components/Dropdown/DropdownToggleCheckbox.js.map +1 -1
  45. package/dist/esm/components/Form/Form.d.ts +4 -2
  46. package/dist/esm/components/Form/Form.d.ts.map +1 -1
  47. package/dist/esm/components/Form/Form.js +4 -3
  48. package/dist/esm/components/Form/Form.js.map +1 -1
  49. package/dist/esm/components/FormSelect/FormSelect.d.ts +4 -0
  50. package/dist/esm/components/FormSelect/FormSelect.d.ts.map +1 -1
  51. package/dist/esm/components/FormSelect/FormSelect.js.map +1 -1
  52. package/dist/esm/components/LoginPage/LoginForm.d.ts +1 -1
  53. package/dist/esm/components/LoginPage/LoginForm.d.ts.map +1 -1
  54. package/dist/esm/components/Menu/Menu.d.ts +4 -0
  55. package/dist/esm/components/Menu/Menu.d.ts.map +1 -1
  56. package/dist/esm/components/Menu/Menu.js.map +1 -1
  57. package/dist/esm/components/MenuToggle/MenuToggleCheckbox.d.ts +4 -0
  58. package/dist/esm/components/MenuToggle/MenuToggleCheckbox.d.ts.map +1 -1
  59. package/dist/esm/components/MenuToggle/MenuToggleCheckbox.js.map +1 -1
  60. package/dist/esm/components/Modal/Modal.d.ts +4 -0
  61. package/dist/esm/components/Modal/Modal.d.ts.map +1 -1
  62. package/dist/esm/components/Modal/Modal.js.map +1 -1
  63. package/dist/esm/components/Modal/ModalBoxCloseButton.d.ts +2 -0
  64. package/dist/esm/components/Modal/ModalBoxCloseButton.d.ts.map +1 -1
  65. package/dist/esm/components/Modal/ModalBoxCloseButton.js.map +1 -1
  66. package/dist/esm/components/Modal/ModalContent.d.ts +4 -0
  67. package/dist/esm/components/Modal/ModalContent.d.ts.map +1 -1
  68. package/dist/esm/components/Modal/ModalContent.js.map +1 -1
  69. package/dist/esm/components/Nav/Nav.d.ts +4 -0
  70. package/dist/esm/components/Nav/Nav.d.ts.map +1 -1
  71. package/dist/esm/components/Nav/Nav.js.map +1 -1
  72. package/dist/esm/components/Nav/NavExpandable.d.ts +2 -0
  73. package/dist/esm/components/Nav/NavExpandable.d.ts.map +1 -1
  74. package/dist/esm/components/Nav/NavExpandable.js.map +1 -1
  75. package/dist/esm/components/Nav/NavItem.d.ts +4 -0
  76. package/dist/esm/components/Nav/NavItem.d.ts.map +1 -1
  77. package/dist/esm/components/Nav/NavItem.js.map +1 -1
  78. package/dist/esm/components/OptionsMenu/OptionsMenu.d.ts +4 -0
  79. package/dist/esm/components/OptionsMenu/OptionsMenu.d.ts.map +1 -1
  80. package/dist/esm/components/OptionsMenu/OptionsMenu.js.map +1 -1
  81. package/dist/esm/components/OverflowMenu/OverflowMenu.d.ts +7 -1
  82. package/dist/esm/components/OverflowMenu/OverflowMenu.d.ts.map +1 -1
  83. package/dist/esm/components/OverflowMenu/OverflowMenu.js +36 -23
  84. package/dist/esm/components/OverflowMenu/OverflowMenu.js.map +1 -1
  85. package/dist/esm/components/Pagination/Pagination.d.ts +4 -0
  86. package/dist/esm/components/Pagination/Pagination.d.ts.map +1 -1
  87. package/dist/esm/components/Pagination/Pagination.js.map +1 -1
  88. package/dist/esm/components/Radio/Radio.d.ts +4 -0
  89. package/dist/esm/components/Radio/Radio.d.ts.map +1 -1
  90. package/dist/esm/components/Radio/Radio.js.map +1 -1
  91. package/dist/esm/components/Select/Select.d.ts +4 -0
  92. package/dist/esm/components/Select/Select.d.ts.map +1 -1
  93. package/dist/esm/components/Select/Select.js.map +1 -1
  94. package/dist/esm/components/Switch/Switch.d.ts +4 -0
  95. package/dist/esm/components/Switch/Switch.d.ts.map +1 -1
  96. package/dist/esm/components/Switch/Switch.js.map +1 -1
  97. package/dist/esm/components/Tabs/Tab.d.ts +2 -0
  98. package/dist/esm/components/Tabs/Tab.d.ts.map +1 -1
  99. package/dist/esm/components/Tabs/Tab.js.map +1 -1
  100. package/dist/esm/components/Tabs/TabContent.d.ts +4 -0
  101. package/dist/esm/components/Tabs/TabContent.d.ts.map +1 -1
  102. package/dist/esm/components/Tabs/TabContent.js.map +1 -1
  103. package/dist/esm/components/Tabs/Tabs.d.ts +4 -0
  104. package/dist/esm/components/Tabs/Tabs.d.ts.map +1 -1
  105. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  106. package/dist/esm/components/Text/Text.d.ts +4 -0
  107. package/dist/esm/components/Text/Text.d.ts.map +1 -1
  108. package/dist/esm/components/Text/Text.js.map +1 -1
  109. package/dist/esm/components/TextInput/TextInput.d.ts +4 -0
  110. package/dist/esm/components/TextInput/TextInput.d.ts.map +1 -1
  111. package/dist/esm/components/TextInput/TextInput.js.map +1 -1
  112. package/dist/esm/components/Title/Title.d.ts +4 -0
  113. package/dist/esm/components/Title/Title.d.ts.map +1 -1
  114. package/dist/esm/components/Title/Title.js.map +1 -1
  115. package/dist/esm/components/Toolbar/Toolbar.d.ts +4 -0
  116. package/dist/esm/components/Toolbar/Toolbar.d.ts.map +1 -1
  117. package/dist/esm/components/Toolbar/Toolbar.js.map +1 -1
  118. package/dist/js/components/Alert/Alert.d.ts +4 -0
  119. package/dist/js/components/Alert/Alert.d.ts.map +1 -1
  120. package/dist/js/components/Alert/Alert.js.map +1 -1
  121. package/dist/js/components/Alert/AlertActionCloseButton.js +2 -4
  122. package/dist/js/components/Alert/AlertActionCloseButton.js.map +1 -1
  123. package/dist/js/components/Alert/AlertToggleExpandButton.js +1 -1
  124. package/dist/js/components/Alert/AlertToggleExpandButton.js.map +1 -1
  125. package/dist/js/components/Breadcrumb/Breadcrumb.d.ts +4 -0
  126. package/dist/js/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
  127. package/dist/js/components/Breadcrumb/Breadcrumb.js.map +1 -1
  128. package/dist/js/components/Button/Button.d.ts +4 -0
  129. package/dist/js/components/Button/Button.d.ts.map +1 -1
  130. package/dist/js/components/Button/Button.js.map +1 -1
  131. package/dist/js/components/Card/Card.d.ts +4 -0
  132. package/dist/js/components/Card/Card.d.ts.map +1 -1
  133. package/dist/js/components/Card/Card.js.map +1 -1
  134. package/dist/js/components/Checkbox/Checkbox.d.ts +4 -0
  135. package/dist/js/components/Checkbox/Checkbox.d.ts.map +1 -1
  136. package/dist/js/components/Checkbox/Checkbox.js.map +1 -1
  137. package/dist/js/components/Chip/Chip.d.ts +2 -0
  138. package/dist/js/components/Chip/Chip.d.ts.map +1 -1
  139. package/dist/js/components/Chip/Chip.js.map +1 -1
  140. package/dist/js/components/ChipGroup/ChipGroup.d.ts +2 -0
  141. package/dist/js/components/ChipGroup/ChipGroup.d.ts.map +1 -1
  142. package/dist/js/components/ChipGroup/ChipGroup.js.map +1 -1
  143. package/dist/js/components/ContextSelector/ContextSelector.d.ts +4 -0
  144. package/dist/js/components/ContextSelector/ContextSelector.d.ts.map +1 -1
  145. package/dist/js/components/ContextSelector/ContextSelector.js.map +1 -1
  146. package/dist/js/components/Dropdown/Dropdown.d.ts +4 -0
  147. package/dist/js/components/Dropdown/Dropdown.d.ts.map +1 -1
  148. package/dist/js/components/Dropdown/Dropdown.js.map +1 -1
  149. package/dist/js/components/Dropdown/DropdownItem.d.ts +4 -0
  150. package/dist/js/components/Dropdown/DropdownItem.d.ts.map +1 -1
  151. package/dist/js/components/Dropdown/DropdownItem.js.map +1 -1
  152. package/dist/js/components/Dropdown/DropdownSeparator.d.ts +4 -0
  153. package/dist/js/components/Dropdown/DropdownSeparator.d.ts.map +1 -1
  154. package/dist/js/components/Dropdown/DropdownSeparator.js.map +1 -1
  155. package/dist/js/components/Dropdown/DropdownToggle.d.ts +4 -0
  156. package/dist/js/components/Dropdown/DropdownToggle.d.ts.map +1 -1
  157. package/dist/js/components/Dropdown/DropdownToggle.js.map +1 -1
  158. package/dist/js/components/Dropdown/DropdownToggleCheckbox.d.ts +4 -0
  159. package/dist/js/components/Dropdown/DropdownToggleCheckbox.d.ts.map +1 -1
  160. package/dist/js/components/Dropdown/DropdownToggleCheckbox.js.map +1 -1
  161. package/dist/js/components/Form/Form.d.ts +4 -2
  162. package/dist/js/components/Form/Form.d.ts.map +1 -1
  163. package/dist/js/components/Form/Form.js +4 -4
  164. package/dist/js/components/Form/Form.js.map +1 -1
  165. package/dist/js/components/FormSelect/FormSelect.d.ts +4 -0
  166. package/dist/js/components/FormSelect/FormSelect.d.ts.map +1 -1
  167. package/dist/js/components/FormSelect/FormSelect.js.map +1 -1
  168. package/dist/js/components/LoginPage/LoginForm.d.ts +1 -1
  169. package/dist/js/components/LoginPage/LoginForm.d.ts.map +1 -1
  170. package/dist/js/components/Menu/Menu.d.ts +4 -0
  171. package/dist/js/components/Menu/Menu.d.ts.map +1 -1
  172. package/dist/js/components/Menu/Menu.js.map +1 -1
  173. package/dist/js/components/MenuToggle/MenuToggleCheckbox.d.ts +4 -0
  174. package/dist/js/components/MenuToggle/MenuToggleCheckbox.d.ts.map +1 -1
  175. package/dist/js/components/MenuToggle/MenuToggleCheckbox.js.map +1 -1
  176. package/dist/js/components/Modal/Modal.d.ts +4 -0
  177. package/dist/js/components/Modal/Modal.d.ts.map +1 -1
  178. package/dist/js/components/Modal/Modal.js.map +1 -1
  179. package/dist/js/components/Modal/ModalBoxCloseButton.d.ts +2 -0
  180. package/dist/js/components/Modal/ModalBoxCloseButton.d.ts.map +1 -1
  181. package/dist/js/components/Modal/ModalBoxCloseButton.js.map +1 -1
  182. package/dist/js/components/Modal/ModalContent.d.ts +4 -0
  183. package/dist/js/components/Modal/ModalContent.d.ts.map +1 -1
  184. package/dist/js/components/Modal/ModalContent.js.map +1 -1
  185. package/dist/js/components/Nav/Nav.d.ts +4 -0
  186. package/dist/js/components/Nav/Nav.d.ts.map +1 -1
  187. package/dist/js/components/Nav/Nav.js.map +1 -1
  188. package/dist/js/components/Nav/NavExpandable.d.ts +2 -0
  189. package/dist/js/components/Nav/NavExpandable.d.ts.map +1 -1
  190. package/dist/js/components/Nav/NavExpandable.js.map +1 -1
  191. package/dist/js/components/Nav/NavItem.d.ts +4 -0
  192. package/dist/js/components/Nav/NavItem.d.ts.map +1 -1
  193. package/dist/js/components/Nav/NavItem.js.map +1 -1
  194. package/dist/js/components/OptionsMenu/OptionsMenu.d.ts +4 -0
  195. package/dist/js/components/OptionsMenu/OptionsMenu.d.ts.map +1 -1
  196. package/dist/js/components/OptionsMenu/OptionsMenu.js.map +1 -1
  197. package/dist/js/components/OverflowMenu/OverflowMenu.d.ts +7 -1
  198. package/dist/js/components/OverflowMenu/OverflowMenu.d.ts.map +1 -1
  199. package/dist/js/components/OverflowMenu/OverflowMenu.js +35 -22
  200. package/dist/js/components/OverflowMenu/OverflowMenu.js.map +1 -1
  201. package/dist/js/components/Pagination/Pagination.d.ts +4 -0
  202. package/dist/js/components/Pagination/Pagination.d.ts.map +1 -1
  203. package/dist/js/components/Pagination/Pagination.js.map +1 -1
  204. package/dist/js/components/Radio/Radio.d.ts +4 -0
  205. package/dist/js/components/Radio/Radio.d.ts.map +1 -1
  206. package/dist/js/components/Radio/Radio.js.map +1 -1
  207. package/dist/js/components/Select/Select.d.ts +4 -0
  208. package/dist/js/components/Select/Select.d.ts.map +1 -1
  209. package/dist/js/components/Select/Select.js.map +1 -1
  210. package/dist/js/components/Switch/Switch.d.ts +4 -0
  211. package/dist/js/components/Switch/Switch.d.ts.map +1 -1
  212. package/dist/js/components/Switch/Switch.js.map +1 -1
  213. package/dist/js/components/Tabs/Tab.d.ts +2 -0
  214. package/dist/js/components/Tabs/Tab.d.ts.map +1 -1
  215. package/dist/js/components/Tabs/Tab.js.map +1 -1
  216. package/dist/js/components/Tabs/TabContent.d.ts +4 -0
  217. package/dist/js/components/Tabs/TabContent.d.ts.map +1 -1
  218. package/dist/js/components/Tabs/TabContent.js.map +1 -1
  219. package/dist/js/components/Tabs/Tabs.d.ts +4 -0
  220. package/dist/js/components/Tabs/Tabs.d.ts.map +1 -1
  221. package/dist/js/components/Tabs/Tabs.js.map +1 -1
  222. package/dist/js/components/Text/Text.d.ts +4 -0
  223. package/dist/js/components/Text/Text.d.ts.map +1 -1
  224. package/dist/js/components/Text/Text.js.map +1 -1
  225. package/dist/js/components/TextInput/TextInput.d.ts +4 -0
  226. package/dist/js/components/TextInput/TextInput.d.ts.map +1 -1
  227. package/dist/js/components/TextInput/TextInput.js.map +1 -1
  228. package/dist/js/components/Title/Title.d.ts +4 -0
  229. package/dist/js/components/Title/Title.d.ts.map +1 -1
  230. package/dist/js/components/Title/Title.js.map +1 -1
  231. package/dist/js/components/Toolbar/Toolbar.d.ts +4 -0
  232. package/dist/js/components/Toolbar/Toolbar.d.ts.map +1 -1
  233. package/dist/js/components/Toolbar/Toolbar.js.map +1 -1
  234. package/dist/umd/react-core.min.js +2 -2
  235. package/package.json +2 -2
  236. package/src/components/Alert/Alert.tsx +4 -0
  237. package/src/components/Alert/AlertActionCloseButton.tsx +2 -2
  238. package/src/components/Alert/AlertToggleExpandButton.tsx +2 -2
  239. package/src/components/Alert/__tests__/Alert.test.tsx +713 -199
  240. package/src/components/Alert/__tests__/AlertActionCloseButton.test.tsx +125 -0
  241. package/src/components/Alert/__tests__/AlertActionLink.test.tsx +59 -0
  242. package/src/components/Alert/__tests__/AlertIcon.test.tsx +83 -0
  243. package/src/components/Alert/__tests__/AlertToggleExpandButton.test.tsx +150 -0
  244. package/src/components/Alert/__tests__/__snapshots__/Alert.test.tsx.snap +12 -2569
  245. package/src/components/Alert/__tests__/__snapshots__/AlertActionCloseButton.test.tsx.snap +31 -0
  246. package/src/components/Alert/__tests__/__snapshots__/AlertActionLink.test.tsx.snap +17 -0
  247. package/src/components/Alert/__tests__/__snapshots__/AlertIcon.test.tsx.snap +11 -0
  248. package/src/components/Alert/__tests__/__snapshots__/AlertToggleExpandButton.test.tsx.snap +24 -0
  249. package/src/components/Breadcrumb/Breadcrumb.tsx +4 -0
  250. package/src/components/Button/Button.tsx +4 -0
  251. package/src/components/Card/Card.tsx +4 -0
  252. package/src/components/Checkbox/Checkbox.tsx +4 -0
  253. package/src/components/Chip/Chip.tsx +2 -0
  254. package/src/components/ChipGroup/ChipGroup.tsx +2 -0
  255. package/src/components/ContextSelector/ContextSelector.tsx +4 -0
  256. package/src/components/Dropdown/Dropdown.tsx +4 -0
  257. package/src/components/Dropdown/DropdownItem.tsx +4 -0
  258. package/src/components/Dropdown/DropdownSeparator.tsx +4 -0
  259. package/src/components/Dropdown/DropdownToggle.tsx +4 -0
  260. package/src/components/Dropdown/DropdownToggleCheckbox.tsx +4 -0
  261. package/src/components/Dropdown/examples/Dropdown.md +1 -1
  262. package/src/components/Form/Form.tsx +9 -2
  263. package/src/components/FormSelect/FormSelect.tsx +4 -0
  264. package/src/components/LoginPage/LoginForm.tsx +1 -1
  265. package/src/components/Menu/Menu.tsx +4 -0
  266. package/src/components/MenuToggle/MenuToggleCheckbox.tsx +4 -0
  267. package/src/components/Modal/Modal.tsx +4 -0
  268. package/src/components/Modal/ModalBoxCloseButton.tsx +2 -0
  269. package/src/components/Modal/ModalContent.tsx +4 -0
  270. package/src/components/Nav/Nav.tsx +4 -0
  271. package/src/components/Nav/NavExpandable.tsx +2 -0
  272. package/src/components/Nav/NavItem.tsx +4 -0
  273. package/src/components/OptionsMenu/OptionsMenu.tsx +4 -0
  274. package/src/components/OverflowMenu/OverflowMenu.tsx +46 -25
  275. package/src/components/OverflowMenu/__tests__/OverflowMenu.test.tsx +38 -0
  276. package/src/components/OverflowMenu/examples/OverflowMenu.md +127 -35
  277. package/src/components/OverflowMenu/examples/OverflowMenuBreakpointOnContainer.tsx +100 -0
  278. package/src/components/Pagination/Pagination.tsx +4 -0
  279. package/src/components/Radio/Radio.tsx +4 -0
  280. package/src/components/Select/Select.tsx +4 -0
  281. package/src/components/Switch/Switch.tsx +4 -0
  282. package/src/components/Tabs/Tab.tsx +2 -0
  283. package/src/components/Tabs/TabContent.tsx +4 -0
  284. package/src/components/Tabs/Tabs.tsx +4 -0
  285. package/src/components/Text/Text.tsx +4 -0
  286. package/src/components/TextInput/TextInput.tsx +4 -0
  287. package/src/components/Title/Title.tsx +4 -0
  288. package/src/components/Toolbar/Toolbar.tsx +4 -0
  289. package/src/demos/examples/DashboardHeader.js +35 -6
  290. package/src/helpers/OUIA/OUIA.md +1 -1
@@ -2,7 +2,15 @@
2
2
  id: Overflow menu
3
3
  section: components
4
4
  cssPrefix: pf-c-overflow-menu
5
- propComponents: ['OverflowMenu', 'OverflowMenuContent', 'OverflowMenuControl', 'OverflowMenuDropdownItem', 'OverflowMenuGroup', 'OverflowMenuItem']
5
+ propComponents:
6
+ [
7
+ 'OverflowMenu',
8
+ 'OverflowMenuContent',
9
+ 'OverflowMenuControl',
10
+ 'OverflowMenuDropdownItem',
11
+ 'OverflowMenuGroup',
12
+ 'OverflowMenuItem',
13
+ ]
6
14
  ---
7
15
 
8
16
  import AlignLeftIcon from '@patternfly/react-icons/dist/esm/icons/align-left-icon';
@@ -10,10 +18,19 @@ import AlignCenterIcon from '@patternfly/react-icons/dist/esm/icons/align-center
10
18
  import AlignRightIcon from '@patternfly/react-icons/dist/esm/icons/align-right-icon';
11
19
 
12
20
  ## Examples
21
+
13
22
  ### Simple (responsive)
23
+
14
24
  ```js
15
25
  import React from 'react';
16
- import { OverflowMenu, OverflowMenuControl, OverflowMenuContent, OverflowMenuGroup, OverflowMenuItem, OverflowMenuDropdownItem } from '@patternfly/react-core';
26
+ import {
27
+ OverflowMenu,
28
+ OverflowMenuControl,
29
+ OverflowMenuContent,
30
+ OverflowMenuGroup,
31
+ OverflowMenuItem,
32
+ OverflowMenuDropdownItem
33
+ } from '@patternfly/react-core';
17
34
  import { Dropdown, KebabToggle } from '@patternfly/react-core';
18
35
 
19
36
  class SimpleOverflowMenu extends React.Component {
@@ -37,12 +54,22 @@ class SimpleOverflowMenu extends React.Component {
37
54
  render() {
38
55
  const { isOpen } = this.state;
39
56
  const dropdownItems = [
40
- <OverflowMenuDropdownItem key="item1" isShared>Item 1</OverflowMenuDropdownItem>,
41
- <OverflowMenuDropdownItem key="item2" isShared>Item 2</OverflowMenuDropdownItem>,
42
- <OverflowMenuDropdownItem key="item3" isShared>Item 3</OverflowMenuDropdownItem>,
43
- <OverflowMenuDropdownItem key="item4" isShared>Item 4</OverflowMenuDropdownItem>,
44
- <OverflowMenuDropdownItem key="item5" isShared>Item 5</OverflowMenuDropdownItem>
45
- ]
57
+ <OverflowMenuDropdownItem key="item1" isShared>
58
+ Item 1
59
+ </OverflowMenuDropdownItem>,
60
+ <OverflowMenuDropdownItem key="item2" isShared>
61
+ Item 2
62
+ </OverflowMenuDropdownItem>,
63
+ <OverflowMenuDropdownItem key="item3" isShared>
64
+ Item 3
65
+ </OverflowMenuDropdownItem>,
66
+ <OverflowMenuDropdownItem key="item4" isShared>
67
+ Item 4
68
+ </OverflowMenuDropdownItem>,
69
+ <OverflowMenuDropdownItem key="item5" isShared>
70
+ Item 5
71
+ </OverflowMenuDropdownItem>
72
+ ];
46
73
  return (
47
74
  <OverflowMenu breakpoint="lg">
48
75
  <OverflowMenuContent>
@@ -66,15 +93,23 @@ class SimpleOverflowMenu extends React.Component {
66
93
  />
67
94
  </OverflowMenuControl>
68
95
  </OverflowMenu>
69
- )
96
+ );
70
97
  }
71
98
  }
72
99
  ```
73
100
 
74
101
  ### Group types
102
+
75
103
  ```js
76
104
  import React from 'react';
77
- import { OverflowMenu, OverflowMenuControl, OverflowMenuContent, OverflowMenuGroup, OverflowMenuItem, OverflowMenuDropdownItem } from '@patternfly/react-core';
105
+ import {
106
+ OverflowMenu,
107
+ OverflowMenuControl,
108
+ OverflowMenuContent,
109
+ OverflowMenuGroup,
110
+ OverflowMenuItem,
111
+ OverflowMenuDropdownItem
112
+ } from '@patternfly/react-core';
78
113
  import { Dropdown, KebabToggle, Button, ButtonVariant } from '@patternfly/react-core';
79
114
  import AlignLeftIcon from '@patternfly/react-icons/dist/esm/icons/align-left-icon';
80
115
  import AlignCenterIcon from '@patternfly/react-icons/dist/esm/icons/align-center-icon';
@@ -101,15 +136,33 @@ class OverflowMenuGroupTypes extends React.Component {
101
136
  render() {
102
137
  const { isOpen } = this.state;
103
138
  const dropdownItems = [
104
- <OverflowMenuDropdownItem key="item1" isShared>Item 1</OverflowMenuDropdownItem>,
105
- <OverflowMenuDropdownItem key="item2" isShared>Item 2</OverflowMenuDropdownItem>,
106
- <OverflowMenuDropdownItem key="item3" isShared>Item 3</OverflowMenuDropdownItem>,
107
- <OverflowMenuDropdownItem key="primary" isShared>Primary</OverflowMenuDropdownItem>,
108
- <OverflowMenuDropdownItem key="secondary" isShared>Secondary</OverflowMenuDropdownItem>,
109
- <OverflowMenuDropdownItem key="tertiary" isShared>Tertiary</OverflowMenuDropdownItem>,
110
- <OverflowMenuDropdownItem key="action1" isShared>Action 1</OverflowMenuDropdownItem>,
111
- <OverflowMenuDropdownItem key="action2" isShared>Action 2</OverflowMenuDropdownItem>,
112
- <OverflowMenuDropdownItem key="action3" isShared>Action 3</OverflowMenuDropdownItem>,
139
+ <OverflowMenuDropdownItem key="item1" isShared>
140
+ Item 1
141
+ </OverflowMenuDropdownItem>,
142
+ <OverflowMenuDropdownItem key="item2" isShared>
143
+ Item 2
144
+ </OverflowMenuDropdownItem>,
145
+ <OverflowMenuDropdownItem key="item3" isShared>
146
+ Item 3
147
+ </OverflowMenuDropdownItem>,
148
+ <OverflowMenuDropdownItem key="primary" isShared>
149
+ Primary
150
+ </OverflowMenuDropdownItem>,
151
+ <OverflowMenuDropdownItem key="secondary" isShared>
152
+ Secondary
153
+ </OverflowMenuDropdownItem>,
154
+ <OverflowMenuDropdownItem key="tertiary" isShared>
155
+ Tertiary
156
+ </OverflowMenuDropdownItem>,
157
+ <OverflowMenuDropdownItem key="action1" isShared>
158
+ Action 1
159
+ </OverflowMenuDropdownItem>,
160
+ <OverflowMenuDropdownItem key="action2" isShared>
161
+ Action 2
162
+ </OverflowMenuDropdownItem>,
163
+ <OverflowMenuDropdownItem key="action3" isShared>
164
+ Action 3
165
+ </OverflowMenuDropdownItem>
113
166
  ];
114
167
  return (
115
168
  <OverflowMenu breakpoint="lg">
@@ -160,16 +213,23 @@ class OverflowMenuGroupTypes extends React.Component {
160
213
  />
161
214
  </OverflowMenuControl>
162
215
  </OverflowMenu>
163
- )
216
+ );
164
217
  }
165
218
  }
166
219
  ```
167
220
 
168
-
169
221
  ### Multiple groups
222
+
170
223
  ```js
171
224
  import React from 'react';
172
- import { OverflowMenu, OverflowMenuControl, OverflowMenuContent, OverflowMenuGroup, OverflowMenuItem, OverflowMenuDropdownItem } from '@patternfly/react-core';
225
+ import {
226
+ OverflowMenu,
227
+ OverflowMenuControl,
228
+ OverflowMenuContent,
229
+ OverflowMenuGroup,
230
+ OverflowMenuItem,
231
+ OverflowMenuDropdownItem
232
+ } from '@patternfly/react-core';
173
233
  import { Dropdown, KebabToggle, Button, ButtonVariant } from '@patternfly/react-core';
174
234
  import AlignLeftIcon from '@patternfly/react-icons/dist/esm/icons/align-left-icon';
175
235
  import AlignCenterIcon from '@patternfly/react-icons/dist/esm/icons/align-center-icon';
@@ -196,13 +256,25 @@ class OverflowMenuAdditionalOptions extends React.Component {
196
256
  render() {
197
257
  const { isOpen } = this.state;
198
258
  const dropdownItems = [
199
- <OverflowMenuDropdownItem key="1" isShared>Primary</OverflowMenuDropdownItem>,
200
- <OverflowMenuDropdownItem key="2" isShared>Secondary</OverflowMenuDropdownItem>,
201
- <OverflowMenuDropdownItem key="3" isShared>Tertiary</OverflowMenuDropdownItem>,
202
- <OverflowMenuDropdownItem key="4" isShared>Action 4</OverflowMenuDropdownItem>,
203
- <OverflowMenuDropdownItem key="5" isShared>Action 5</OverflowMenuDropdownItem>,
204
- <OverflowMenuDropdownItem key="6" isShared>Action 6</OverflowMenuDropdownItem>,
205
- <OverflowMenuDropdownItem key="7">Action 7</OverflowMenuDropdownItem>,
259
+ <OverflowMenuDropdownItem key="1" isShared>
260
+ Primary
261
+ </OverflowMenuDropdownItem>,
262
+ <OverflowMenuDropdownItem key="2" isShared>
263
+ Secondary
264
+ </OverflowMenuDropdownItem>,
265
+ <OverflowMenuDropdownItem key="3" isShared>
266
+ Tertiary
267
+ </OverflowMenuDropdownItem>,
268
+ <OverflowMenuDropdownItem key="4" isShared>
269
+ Action 4
270
+ </OverflowMenuDropdownItem>,
271
+ <OverflowMenuDropdownItem key="5" isShared>
272
+ Action 5
273
+ </OverflowMenuDropdownItem>,
274
+ <OverflowMenuDropdownItem key="6" isShared>
275
+ Action 6
276
+ </OverflowMenuDropdownItem>,
277
+ <OverflowMenuDropdownItem key="7">Action 7</OverflowMenuDropdownItem>
206
278
  ];
207
279
  return (
208
280
  <OverflowMenu breakpoint="lg">
@@ -248,16 +320,23 @@ class OverflowMenuAdditionalOptions extends React.Component {
248
320
  />
249
321
  </OverflowMenuControl>
250
322
  </OverflowMenu>
251
- )
323
+ );
252
324
  }
253
325
  }
254
326
  ```
255
327
 
256
-
257
328
  ### Persistent
329
+
258
330
  ```js
259
331
  import React from 'react';
260
- import { OverflowMenu, OverflowMenuControl, OverflowMenuContent, OverflowMenuGroup, OverflowMenuItem, OverflowMenuDropdownItem } from '@patternfly/react-core';
332
+ import {
333
+ OverflowMenu,
334
+ OverflowMenuControl,
335
+ OverflowMenuContent,
336
+ OverflowMenuGroup,
337
+ OverflowMenuItem,
338
+ OverflowMenuDropdownItem
339
+ } from '@patternfly/react-core';
261
340
  import { Dropdown, KebabToggle, Button, ButtonVariant } from '@patternfly/react-core';
262
341
 
263
342
  class OverflowMenuPersist extends React.Component {
@@ -281,8 +360,12 @@ class OverflowMenuPersist extends React.Component {
281
360
  render() {
282
361
  const { isOpen } = this.state;
283
362
  const dropdownItems = [
284
- <OverflowMenuDropdownItem key="secondary" isShared>Secondary</OverflowMenuDropdownItem>,
285
- <OverflowMenuDropdownItem key="tertiary" isShared>Tertiary</OverflowMenuDropdownItem>,
363
+ <OverflowMenuDropdownItem key="secondary" isShared>
364
+ Secondary
365
+ </OverflowMenuDropdownItem>,
366
+ <OverflowMenuDropdownItem key="tertiary" isShared>
367
+ Tertiary
368
+ </OverflowMenuDropdownItem>,
286
369
  <OverflowMenuDropdownItem key="action">Action 4</OverflowMenuDropdownItem>
287
370
  ];
288
371
  return (
@@ -312,7 +395,16 @@ class OverflowMenuPersist extends React.Component {
312
395
  />
313
396
  </OverflowMenuControl>
314
397
  </OverflowMenu>
315
- )
398
+ );
316
399
  }
317
400
  }
318
401
  ```
402
+
403
+ ### Breakpoint on container
404
+
405
+ By passing in the `breakpointReference` property, the overflow menu's breakpoint will be relative to the width of the reference container rather than the viewport width.
406
+
407
+ You can change the container width in this example by adjusting the slider. As the container width changes, the overflow menu will change between a horizontal menu and a vertical dropdown despite the viewport width not changing.
408
+
409
+ ```ts file="./OverflowMenuBreakpointOnContainer.tsx"
410
+ ```
@@ -0,0 +1,100 @@
1
+ import React from 'react';
2
+ import {
3
+ OverflowMenu,
4
+ OverflowMenuControl,
5
+ OverflowMenuContent,
6
+ OverflowMenuGroup,
7
+ OverflowMenuItem,
8
+ OverflowMenuDropdownItem,
9
+ Dropdown,
10
+ KebabToggle,
11
+ Slider
12
+ } from '@patternfly/react-core';
13
+
14
+ export const OverflowMenuBreakpointOnContainer: React.FunctionComponent = () => {
15
+ const [isOpen, setIsOpen] = React.useState(false);
16
+ const [containerWidth, setContainerWidth] = React.useState(100);
17
+ const containerRef = React.useRef<HTMLDivElement>(null);
18
+
19
+ const onToggle = (isOpen: boolean) => {
20
+ setIsOpen(isOpen);
21
+ };
22
+
23
+ const onSelect = () => {
24
+ setIsOpen(!isOpen);
25
+ };
26
+
27
+ const onChange = (value: number) => {
28
+ setContainerWidth(value);
29
+ };
30
+
31
+ const containerStyles = {
32
+ width: `${containerWidth}%`,
33
+ padding: '1rem',
34
+ borderWidth: '2px',
35
+ borderStyle: 'dashed'
36
+ };
37
+
38
+ const dropdownItems = [
39
+ <OverflowMenuDropdownItem key="item1" isShared>
40
+ Item 1
41
+ </OverflowMenuDropdownItem>,
42
+ <OverflowMenuDropdownItem key="item2" isShared>
43
+ Item 2
44
+ </OverflowMenuDropdownItem>,
45
+ <OverflowMenuDropdownItem key="item3" isShared>
46
+ Item 3
47
+ </OverflowMenuDropdownItem>,
48
+ <OverflowMenuDropdownItem key="item4" isShared>
49
+ Item 4
50
+ </OverflowMenuDropdownItem>,
51
+ <OverflowMenuDropdownItem key="item5" isShared>
52
+ Item 5
53
+ </OverflowMenuDropdownItem>
54
+ ];
55
+
56
+ return (
57
+ <>
58
+ <div style={{ width: '100%', maxWidth: '400px' }}>
59
+ <div>
60
+ <span id="overflowMenu-hasBreakpointOnContainer-slider-label">Current container width</span>: {containerWidth}
61
+ %
62
+ </div>
63
+ <Slider
64
+ value={containerWidth}
65
+ onChange={onChange}
66
+ max={100}
67
+ min={20}
68
+ step={20}
69
+ showTicks
70
+ showBoundaries={false}
71
+ aria-labelledby="overflowMenu-hasBreakpointOnContainer-slider-label"
72
+ />
73
+ </div>
74
+ <div ref={containerRef} id="breakpoint-reference-container" style={containerStyles}>
75
+ <OverflowMenu breakpointReference={containerRef} breakpoint="sm">
76
+ <OverflowMenuContent>
77
+ <OverflowMenuItem>Item 1</OverflowMenuItem>
78
+ <OverflowMenuItem>Item 2</OverflowMenuItem>
79
+ <OverflowMenuGroup>
80
+ <OverflowMenuItem>Item 3</OverflowMenuItem>
81
+ <OverflowMenuItem>Item 4</OverflowMenuItem>
82
+ <OverflowMenuItem>Item 5</OverflowMenuItem>
83
+ </OverflowMenuGroup>
84
+ </OverflowMenuContent>
85
+ <OverflowMenuControl>
86
+ <Dropdown
87
+ onSelect={onSelect}
88
+ toggle={<KebabToggle onToggle={onToggle} />}
89
+ isOpen={isOpen}
90
+ isPlain
91
+ dropdownItems={dropdownItems}
92
+ isFlipEnabled
93
+ menuAppendTo="parent"
94
+ />
95
+ </OverflowMenuControl>
96
+ </OverflowMenu>
97
+ </div>
98
+ </>
99
+ );
100
+ };
@@ -159,6 +159,10 @@ export interface PaginationProps extends React.HTMLProps<HTMLDivElement>, OUIAPr
159
159
  variant?: 'top' | 'bottom' | PaginationVariant;
160
160
  /** Id to ideintify widget on page. */
161
161
  widgetId?: string;
162
+ /** Value to overwrite the randomly generated data-ouia-component-id.*/
163
+ ouiaId?: number | string;
164
+ /** Set the value of data-ouia-safe. Only set to true when the component is in a static state, i.e. no animations are occurring. At all other times, this value must be false. */
165
+ ouiaSafe?: boolean;
162
166
  }
163
167
 
164
168
  const handleInputWidth = (lastPage: number, node: HTMLDivElement) => {
@@ -35,6 +35,10 @@ export interface RadioProps
35
35
  description?: React.ReactNode;
36
36
  /** Body of the radio. */
37
37
  body?: React.ReactNode;
38
+ /** Value to overwrite the randomly generated data-ouia-component-id.*/
39
+ ouiaId?: number | string;
40
+ /** Set the value of data-ouia-safe. Only set to true when the component is in a static state, i.e. no animations are occurring. At all other times, this value must be false. */
41
+ ouiaSafe?: boolean;
38
42
  }
39
43
 
40
44
  export class Radio extends React.Component<RadioProps, { ouiaStateId: string }> {
@@ -184,6 +184,10 @@ export interface SelectProps
184
184
  isFlipEnabled?: boolean;
185
185
  /** @beta Opt-in for updated popper that does not use findDOMNode. */
186
186
  removeFindDomNode?: boolean;
187
+ /** Value to overwrite the randomly generated data-ouia-component-id.*/
188
+ ouiaId?: number | string;
189
+ /** Set the value of data-ouia-safe. Only set to true when the component is in a static state, i.e. no animations are occurring. At all other times, this value must be false. */
190
+ ouiaSafe?: boolean;
187
191
  }
188
192
 
189
193
  export interface SelectState {
@@ -34,6 +34,10 @@ export interface SwitchProps
34
34
  'aria-label'?: string;
35
35
  /** Flag to reverse the layout of toggle and label (toggle on right). */
36
36
  isReversed?: boolean;
37
+ /** Value to overwrite the randomly generated data-ouia-component-id.*/
38
+ ouiaId?: number | string;
39
+ /** Set the value of data-ouia-safe. Only set to true when the component is in a static state, i.e. no animations are occurring. At all other times, this value must be false. */
40
+ ouiaSafe?: boolean;
37
41
  }
38
42
 
39
43
  export class Switch extends React.Component<SwitchProps & OUIAProps, { ouiaStateId: string }> {
@@ -39,6 +39,8 @@ export interface TabProps extends Omit<React.HTMLProps<HTMLAnchorElement | HTMLB
39
39
  closeButtonAriaLabel?: string;
40
40
  /** @beta Flag indicating the close button should be disabled */
41
41
  isCloseDisabled?: boolean;
42
+ /** Value to set the data-ouia-component-id for the tab button.*/
43
+ ouiaId?: number | string;
42
44
  }
43
45
 
44
46
  const TabBase: React.FunctionComponent<TabProps> = ({
@@ -21,6 +21,10 @@ export interface TabContentProps extends Omit<React.HTMLProps<HTMLElement>, 'ref
21
21
  id: string;
22
22
  /** title of controlling Tab if used outside Tabs component */
23
23
  'aria-label'?: string;
24
+ /** Value to overwrite the randomly generated data-ouia-component-id.*/
25
+ ouiaId?: number | string;
26
+ /** Set the value of data-ouia-safe. Only set to true when the component is in a static state, i.e. no animations are occurring. At all other times, this value must be false. */
27
+ ouiaSafe?: boolean;
24
28
  }
25
29
 
26
30
  const variantStyle = {
@@ -106,6 +106,10 @@ export interface TabsProps extends Omit<React.HTMLProps<HTMLElement | HTMLDivEle
106
106
  onToggle?: (isExpanded: boolean) => void;
107
107
  /** @beta Flag which places overflowing tabs into a menu triggered by the last tab. Additionally an object can be passed with custom settings for the overflow tab. */
108
108
  isOverflowHorizontal?: boolean | HorizontalOverflowObject;
109
+ /** Value to overwrite the randomly generated data-ouia-component-id.*/
110
+ ouiaId?: number | string;
111
+ /** Set the value of data-ouia-safe. Only set to true when the component is in a static state, i.e. no animations are occurring. At all other times, this value must be false. */
112
+ ouiaSafe?: boolean;
109
113
  }
110
114
 
111
115
  const variantStyle = {
@@ -26,6 +26,10 @@ export interface TextProps extends React.HTMLProps<HTMLElement>, OUIAProps {
26
26
  className?: string;
27
27
  /** Flag to indicate the link has visited styles applied if the browser determines the link has been visited */
28
28
  isVisitedLink?: boolean;
29
+ /** Value to overwrite the randomly generated data-ouia-component-id.*/
30
+ ouiaId?: number | string;
31
+ /** Set the value of data-ouia-safe. Only set to true when the component is in a static state, i.e. no animations are occurring. At all other times, this value must be false. */
32
+ ouiaSafe?: boolean;
29
33
  }
30
34
 
31
35
  export const Text: React.FunctionComponent<TextProps> = ({
@@ -77,6 +77,10 @@ export interface TextInputProps
77
77
  customIconUrl?: string;
78
78
  /** Dimensions for the custom icon set as the text input's background-size */
79
79
  customIconDimensions?: string;
80
+ /** Value to overwrite the randomly generated data-ouia-component-id.*/
81
+ ouiaId?: number | string;
82
+ /** Set the value of data-ouia-safe. Only set to true when the component is in a static state, i.e. no animations are occurring. At all other times, this value must be false. */
83
+ ouiaSafe?: boolean;
80
84
  }
81
85
 
82
86
  interface TextInputState {
@@ -32,6 +32,10 @@ export interface TitleProps extends Omit<React.HTMLProps<HTMLHeadingElement>, 's
32
32
  className?: string;
33
33
  /** The heading level to use */
34
34
  headingLevel: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
35
+ /** Value to overwrite the randomly generated data-ouia-component-id.*/
36
+ ouiaId?: number | string;
37
+ /** Set the value of data-ouia-safe. Only set to true when the component is in a static state, i.e. no animations are occurring. At all other times, this value must be false. */
38
+ ouiaSafe?: boolean;
35
39
  }
36
40
 
37
41
  export const Title: React.FunctionComponent<TitleProps> = ({
@@ -46,6 +46,10 @@ export interface ToolbarProps extends React.HTMLProps<HTMLDivElement>, OUIAProps
46
46
  };
47
47
  /** Text to display in the total number of applied filters ToolbarFilter */
48
48
  numberOfFiltersText?: (numberOfFilters: number) => string;
49
+ /** Value to overwrite the randomly generated data-ouia-component-id.*/
50
+ ouiaId?: number | string;
51
+ /** Set the value of data-ouia-safe. Only set to true when the component is in a static state, i.e. no animations are occurring. At all other times, this value must be false. */
52
+ ouiaSafe?: boolean;
49
53
  }
50
54
 
51
55
  export interface ToolbarState {
@@ -6,6 +6,7 @@ import {
6
6
  Brand,
7
7
  Button,
8
8
  ButtonVariant,
9
+ Divider,
9
10
  Dropdown,
10
11
  DropdownGroup,
11
12
  DropdownToggle,
@@ -91,17 +92,35 @@ export default class DashboardHeader extends React.Component {
91
92
  }
92
93
 
93
94
  render() {
94
- const { isDropdownOpen, isKebabDropdownOpen, isAppLauncherOpen } = this.state;
95
+ const { isDropdownOpen, isKebabDropdownOpen, isFullKebabDropdownOpen, isAppLauncherOpen } = this.state;
95
96
  const { notificationBadge } = this.props;
96
97
 
97
98
  const kebabDropdownItems = [
98
- <DropdownItem key="kebab-1">
99
+ <DropdownItem key="settings">
99
100
  <CogIcon /> Settings
100
101
  </DropdownItem>,
101
- <DropdownItem key="kebab-2">
102
+ <DropdownItem key="help">
102
103
  <HelpIcon /> Help
103
104
  </DropdownItem>
104
105
  ];
106
+
107
+ const fullKebabItems = [
108
+ <DropdownGroup key="group 2">
109
+ <DropdownItem key="group 2 profile">My profile</DropdownItem>
110
+ <DropdownItem key="group 2 user" component="button">
111
+ User management
112
+ </DropdownItem>
113
+ <DropdownItem key="group 2 logout">Logout</DropdownItem>
114
+ </DropdownGroup>,
115
+ <Divider key="divider" />,
116
+ <DropdownItem key="settings">
117
+ <CogIcon /> Settings
118
+ </DropdownItem>,
119
+ <DropdownItem key="help">
120
+ <HelpIcon /> Help
121
+ </DropdownItem>
122
+ ];
123
+
105
124
  const userDropdownItems = [
106
125
  <DropdownGroup key="group 2">
107
126
  <DropdownItem key="group 2 profile">My profile</DropdownItem>
@@ -142,7 +161,7 @@ export default class DashboardHeader extends React.Component {
142
161
  </ToolbarItem>
143
162
  )}
144
163
  <ToolbarGroup variant="icon-button-group" visibility={{ default: 'hidden', lg: 'visible' }}>
145
- <ToolbarItem visibility={{ default: 'hidden', sm: 'hidden', lg: 'visible' }}>
164
+ <ToolbarItem>
146
165
  <ApplicationLauncher
147
166
  onSelect={this.onAppLauncherSelect}
148
167
  onToggle={this.onAppLauncherToggle}
@@ -157,7 +176,7 @@ export default class DashboardHeader extends React.Component {
157
176
  <Button aria-label="Help" variant={ButtonVariant.plain} icon={<QuestionCircleIcon />} />
158
177
  </ToolbarItem>
159
178
  </ToolbarGroup>
160
- <ToolbarItem visibility={{ lg: 'hidden' }}>
179
+ <ToolbarItem visibility={{ default: 'hidden', md: 'visible', lg: 'hidden' }}>
161
180
  <Dropdown
162
181
  isPlain
163
182
  position="right"
@@ -167,8 +186,18 @@ export default class DashboardHeader extends React.Component {
167
186
  dropdownItems={kebabDropdownItems}
168
187
  />
169
188
  </ToolbarItem>
189
+ <ToolbarItem visibility={{ md: 'hidden' }}>
190
+ <Dropdown
191
+ isPlain
192
+ position="right"
193
+ onSelect={this.onFullKebabSelect}
194
+ toggle={<KebabToggle onToggle={this.onFullKebabToggle} />}
195
+ isOpen={isFullKebabDropdownOpen}
196
+ dropdownItems={fullKebabItems}
197
+ />
198
+ </ToolbarItem>
170
199
  </ToolbarGroup>
171
- <ToolbarItem visibility={{ default: 'hidden', sm: 'visible' }}>
200
+ <ToolbarItem visibility={{ default: 'hidden', md: 'visible' }}>
172
201
  <Dropdown
173
202
  isFullHeight
174
203
  onSelect={this.onDropdownSelect}
@@ -71,6 +71,7 @@ import { Button } from '@patternfly/react-core';
71
71
  * [FormSelect](/components/form-select)
72
72
  * [Menu](/components/menu)
73
73
  * [Modal](/components/modal)
74
+ * [ModalBoxCloseButton](/components/modal)
74
75
  * [ModalContent](/components/modal)
75
76
  * [Nav](/components/navigation)
76
77
  * [NavExpandable](/components/navigation)
@@ -80,7 +81,6 @@ import { Button } from '@patternfly/react-core';
80
81
  * [Radio](/components/radio)
81
82
  * [Select](/components/select)
82
83
  * [Switch](/components/switch)
83
- * [TabButton](/components/tabs)
84
84
  * [TabContent](/components/tabs)
85
85
  * [Tabs](/components/tabs)
86
86
  * [Text](/components/text)