@patternfly/react-core 6.3.0-prerelease.8 → 6.3.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 (510) hide show
  1. package/CHANGELOG.md +151 -0
  2. package/CONTRIBUTING.md +3 -5
  3. package/components/package.json +1 -1
  4. package/deprecated/package.json +1 -1
  5. package/dist/dynamic/components/AboutModal/package.json +1 -1
  6. package/dist/dynamic/components/Accordion/package.json +1 -1
  7. package/dist/dynamic/components/ActionList/package.json +1 -1
  8. package/dist/dynamic/components/Alert/package.json +1 -1
  9. package/dist/dynamic/components/Avatar/package.json +1 -1
  10. package/dist/dynamic/components/BackToTop/package.json +1 -1
  11. package/dist/dynamic/components/Backdrop/package.json +1 -1
  12. package/dist/dynamic/components/BackgroundImage/package.json +1 -1
  13. package/dist/dynamic/components/Badge/package.json +1 -1
  14. package/dist/dynamic/components/Banner/package.json +1 -1
  15. package/dist/dynamic/components/Brand/package.json +1 -1
  16. package/dist/dynamic/components/Breadcrumb/package.json +1 -1
  17. package/dist/dynamic/components/Button/package.json +1 -1
  18. package/dist/dynamic/components/CalendarMonth/package.json +1 -1
  19. package/dist/dynamic/components/Card/package.json +1 -1
  20. package/dist/dynamic/components/Checkbox/package.json +1 -1
  21. package/dist/dynamic/components/ClipboardCopy/package.json +1 -1
  22. package/dist/dynamic/components/CodeBlock/package.json +1 -1
  23. package/dist/dynamic/components/Content/package.json +1 -1
  24. package/dist/dynamic/components/DataList/package.json +1 -1
  25. package/dist/dynamic/components/DatePicker/package.json +1 -1
  26. package/dist/dynamic/components/DescriptionList/package.json +1 -1
  27. package/dist/dynamic/components/Divider/package.json +1 -1
  28. package/dist/dynamic/components/Drawer/package.json +1 -1
  29. package/dist/dynamic/components/Dropdown/package.json +1 -1
  30. package/dist/dynamic/components/DualListSelector/package.json +1 -1
  31. package/dist/dynamic/components/EmptyState/package.json +1 -1
  32. package/dist/dynamic/components/ExpandableSection/package.json +1 -1
  33. package/dist/dynamic/components/FileUpload/package.json +1 -1
  34. package/dist/dynamic/components/Form/package.json +1 -1
  35. package/dist/dynamic/components/FormSelect/package.json +1 -1
  36. package/dist/dynamic/components/HelperText/package.json +1 -1
  37. package/dist/dynamic/components/Hint/package.json +1 -1
  38. package/dist/dynamic/components/Icon/package.json +1 -1
  39. package/dist/dynamic/components/InputGroup/package.json +1 -1
  40. package/dist/dynamic/components/JumpLinks/package.json +1 -1
  41. package/dist/dynamic/components/Label/package.json +1 -1
  42. package/dist/dynamic/components/List/package.json +1 -1
  43. package/dist/dynamic/components/LoginPage/package.json +1 -1
  44. package/dist/dynamic/components/Masthead/package.json +1 -1
  45. package/dist/dynamic/components/Menu/package.json +1 -1
  46. package/dist/dynamic/components/MenuToggle/package.json +1 -1
  47. package/dist/dynamic/components/Modal/package.json +1 -1
  48. package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
  49. package/dist/dynamic/components/Nav/package.json +1 -1
  50. package/dist/dynamic/components/NotificationBadge/package.json +1 -1
  51. package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
  52. package/dist/dynamic/components/NumberInput/package.json +1 -1
  53. package/dist/dynamic/components/OverflowMenu/package.json +1 -1
  54. package/dist/dynamic/components/Page/package.json +1 -1
  55. package/dist/dynamic/components/Pagination/package.json +1 -1
  56. package/dist/dynamic/components/Panel/package.json +1 -1
  57. package/dist/dynamic/components/Popover/package.json +1 -1
  58. package/dist/dynamic/components/Progress/package.json +1 -1
  59. package/dist/dynamic/components/ProgressStepper/package.json +1 -1
  60. package/dist/dynamic/components/Radio/package.json +1 -1
  61. package/dist/dynamic/components/SearchInput/package.json +1 -1
  62. package/dist/dynamic/components/Select/package.json +1 -1
  63. package/dist/dynamic/components/Sidebar/package.json +1 -1
  64. package/dist/dynamic/components/SimpleList/package.json +1 -1
  65. package/dist/dynamic/components/Skeleton/package.json +1 -1
  66. package/dist/dynamic/components/SkipToContent/package.json +1 -1
  67. package/dist/dynamic/components/Slider/package.json +1 -1
  68. package/dist/dynamic/components/Spinner/package.json +1 -1
  69. package/dist/dynamic/components/Switch/package.json +1 -1
  70. package/dist/dynamic/components/Tabs/package.json +1 -1
  71. package/dist/dynamic/components/TextArea/package.json +1 -1
  72. package/dist/dynamic/components/TextInput/package.json +1 -1
  73. package/dist/dynamic/components/TextInputGroup/package.json +1 -1
  74. package/dist/dynamic/components/TimePicker/package.json +1 -1
  75. package/dist/dynamic/components/Timestamp/package.json +1 -1
  76. package/dist/dynamic/components/Title/package.json +1 -1
  77. package/dist/dynamic/components/ToggleGroup/package.json +1 -1
  78. package/dist/dynamic/components/Toolbar/package.json +1 -1
  79. package/dist/dynamic/components/Tooltip/package.json +1 -1
  80. package/dist/dynamic/components/TreeView/package.json +1 -1
  81. package/dist/dynamic/components/Truncate/package.json +1 -1
  82. package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
  83. package/dist/dynamic/components/Wizard/package.json +1 -1
  84. package/dist/dynamic/deprecated/components/Chip/package.json +1 -1
  85. package/dist/dynamic/deprecated/components/DragDrop/package.json +1 -1
  86. package/dist/dynamic/deprecated/components/DualListSelector/package.json +1 -1
  87. package/dist/dynamic/deprecated/components/Modal/package.json +1 -1
  88. package/dist/dynamic/deprecated/components/Tile/package.json +1 -1
  89. package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
  90. package/dist/dynamic/deprecated/components/package.json +1 -1
  91. package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
  92. package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
  93. package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
  94. package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
  95. package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
  96. package/dist/dynamic/helpers/constants/package.json +1 -1
  97. package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
  98. package/dist/dynamic/helpers/fileUtils/package.json +1 -1
  99. package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
  100. package/dist/dynamic/helpers/package.json +1 -1
  101. package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
  102. package/dist/dynamic/helpers/typeUtils/package.json +1 -1
  103. package/dist/dynamic/helpers/useInterval/package.json +1 -1
  104. package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
  105. package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
  106. package/dist/dynamic/helpers/util/package.json +1 -1
  107. package/dist/dynamic/layouts/Bullseye/package.json +1 -1
  108. package/dist/dynamic/layouts/Flex/package.json +1 -1
  109. package/dist/dynamic/layouts/Gallery/package.json +1 -1
  110. package/dist/dynamic/layouts/Grid/package.json +1 -1
  111. package/dist/dynamic/layouts/Level/package.json +1 -1
  112. package/dist/dynamic/layouts/Split/package.json +1 -1
  113. package/dist/dynamic/layouts/Stack/package.json +1 -1
  114. package/dist/dynamic/styles/package.json +1 -1
  115. package/dist/dynamic-modules.json +2 -0
  116. package/dist/esm/components/Alert/AlertGroupInline.d.ts.map +1 -1
  117. package/dist/esm/components/Alert/AlertGroupInline.js +7 -1
  118. package/dist/esm/components/Alert/AlertGroupInline.js.map +1 -1
  119. package/dist/esm/components/Button/Button.d.ts +12 -0
  120. package/dist/esm/components/Button/Button.d.ts.map +1 -1
  121. package/dist/esm/components/Button/Button.js +33 -3
  122. package/dist/esm/components/Button/Button.js.map +1 -1
  123. package/dist/esm/components/Button/hamburgerIcon.d.ts +2 -0
  124. package/dist/esm/components/Button/hamburgerIcon.d.ts.map +1 -0
  125. package/dist/esm/components/Button/hamburgerIcon.js +7 -0
  126. package/dist/esm/components/Button/hamburgerIcon.js.map +1 -0
  127. package/dist/esm/components/ClipboardCopy/ClipboardCopy.d.ts.map +1 -1
  128. package/dist/esm/components/ClipboardCopy/ClipboardCopy.js +2 -2
  129. package/dist/esm/components/ClipboardCopy/ClipboardCopy.js.map +1 -1
  130. package/dist/esm/components/ClipboardCopy/ClipboardCopyToggle.js +1 -1
  131. package/dist/esm/components/ClipboardCopy/ClipboardCopyToggle.js.map +1 -1
  132. package/dist/esm/components/DualListSelector/DualListSelector.d.ts +5 -0
  133. package/dist/esm/components/DualListSelector/DualListSelector.d.ts.map +1 -1
  134. package/dist/esm/components/DualListSelector/DualListSelector.js +4 -3
  135. package/dist/esm/components/DualListSelector/DualListSelector.js.map +1 -1
  136. package/dist/esm/components/DualListSelector/DualListSelectorContext.d.ts +1 -0
  137. package/dist/esm/components/DualListSelector/DualListSelectorContext.d.ts.map +1 -1
  138. package/dist/esm/components/DualListSelector/DualListSelectorContext.js +1 -1
  139. package/dist/esm/components/DualListSelector/DualListSelectorContext.js.map +1 -1
  140. package/dist/esm/components/DualListSelector/DualListSelectorListWrapper.d.ts.map +1 -1
  141. package/dist/esm/components/DualListSelector/DualListSelectorListWrapper.js +1 -1
  142. package/dist/esm/components/DualListSelector/DualListSelectorListWrapper.js.map +1 -1
  143. package/dist/esm/components/DualListSelector/DualListSelectorTree.d.ts.map +1 -1
  144. package/dist/esm/components/DualListSelector/DualListSelectorTree.js +4 -1
  145. package/dist/esm/components/DualListSelector/DualListSelectorTree.js.map +1 -1
  146. package/dist/esm/components/DualListSelector/DualListSelectorTreeItem.d.ts +5 -0
  147. package/dist/esm/components/DualListSelector/DualListSelectorTreeItem.d.ts.map +1 -1
  148. package/dist/esm/components/DualListSelector/DualListSelectorTreeItem.js +8 -4
  149. package/dist/esm/components/DualListSelector/DualListSelectorTreeItem.js.map +1 -1
  150. package/dist/esm/components/ExpandableSection/ExpandableSection.d.ts +5 -1
  151. package/dist/esm/components/ExpandableSection/ExpandableSection.d.ts.map +1 -1
  152. package/dist/esm/components/ExpandableSection/ExpandableSection.js +6 -2
  153. package/dist/esm/components/ExpandableSection/ExpandableSection.js.map +1 -1
  154. package/dist/esm/components/ExpandableSection/ExpandableSectionToggle.d.ts +2 -0
  155. package/dist/esm/components/ExpandableSection/ExpandableSectionToggle.d.ts.map +1 -1
  156. package/dist/esm/components/ExpandableSection/ExpandableSectionToggle.js +4 -3
  157. package/dist/esm/components/ExpandableSection/ExpandableSectionToggle.js.map +1 -1
  158. package/dist/esm/components/Form/FormFieldGroupExpandable.d.ts +5 -0
  159. package/dist/esm/components/Form/FormFieldGroupExpandable.d.ts.map +1 -1
  160. package/dist/esm/components/Form/FormFieldGroupExpandable.js +2 -2
  161. package/dist/esm/components/Form/FormFieldGroupExpandable.js.map +1 -1
  162. package/dist/esm/components/Form/InternalFormFieldGroup.d.ts +5 -0
  163. package/dist/esm/components/Form/InternalFormFieldGroup.d.ts.map +1 -1
  164. package/dist/esm/components/Form/InternalFormFieldGroup.js +2 -2
  165. package/dist/esm/components/Form/InternalFormFieldGroup.js.map +1 -1
  166. package/dist/esm/components/Label/Label.js +57 -57
  167. package/dist/esm/components/Label/Label.js.map +1 -1
  168. package/dist/esm/components/Menu/Menu.js +3 -3
  169. package/dist/esm/components/Menu/Menu.js.map +1 -1
  170. package/dist/esm/components/MenuToggle/MenuToggle.d.ts +2 -0
  171. package/dist/esm/components/MenuToggle/MenuToggle.d.ts.map +1 -1
  172. package/dist/esm/components/MenuToggle/MenuToggle.js +4 -3
  173. package/dist/esm/components/MenuToggle/MenuToggle.js.map +1 -1
  174. package/dist/esm/components/Nav/NavExpandable.d.ts.map +1 -1
  175. package/dist/esm/components/Nav/NavExpandable.js +1 -1
  176. package/dist/esm/components/Nav/NavExpandable.js.map +1 -1
  177. package/dist/esm/components/Page/PageToggleButton.d.ts +4 -0
  178. package/dist/esm/components/Page/PageToggleButton.d.ts.map +1 -1
  179. package/dist/esm/components/Page/PageToggleButton.js +2 -2
  180. package/dist/esm/components/Page/PageToggleButton.js.map +1 -1
  181. package/dist/esm/components/Popover/Popover.d.ts.map +1 -1
  182. package/dist/esm/components/Popover/Popover.js +11 -1
  183. package/dist/esm/components/Popover/Popover.js.map +1 -1
  184. package/dist/esm/components/SearchInput/AdvancedSearchMenu.d.ts.map +1 -1
  185. package/dist/esm/components/SearchInput/AdvancedSearchMenu.js +13 -19
  186. package/dist/esm/components/SearchInput/AdvancedSearchMenu.js.map +1 -1
  187. package/dist/esm/components/SearchInput/SearchInput.d.ts +4 -0
  188. package/dist/esm/components/SearchInput/SearchInput.d.ts.map +1 -1
  189. package/dist/esm/components/SearchInput/SearchInput.js +37 -13
  190. package/dist/esm/components/SearchInput/SearchInput.js.map +1 -1
  191. package/dist/esm/components/Tabs/OverflowTab.d.ts +26 -0
  192. package/dist/esm/components/Tabs/OverflowTab.d.ts.map +1 -1
  193. package/dist/esm/components/Tabs/OverflowTab.js +2 -2
  194. package/dist/esm/components/Tabs/OverflowTab.js.map +1 -1
  195. package/dist/esm/components/Tabs/Tab.d.ts.map +1 -1
  196. package/dist/esm/components/Tabs/Tab.js +5 -2
  197. package/dist/esm/components/Tabs/Tab.js.map +1 -1
  198. package/dist/esm/components/Tabs/Tabs.d.ts +10 -0
  199. package/dist/esm/components/Tabs/Tabs.d.ts.map +1 -1
  200. package/dist/esm/components/Tabs/Tabs.js +46 -12
  201. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  202. package/dist/esm/components/Tabs/TabsContext.d.ts +1 -0
  203. package/dist/esm/components/Tabs/TabsContext.d.ts.map +1 -1
  204. package/dist/esm/components/Tabs/TabsContext.js +1 -0
  205. package/dist/esm/components/Tabs/TabsContext.js.map +1 -1
  206. package/dist/esm/components/TreeView/TreeView.d.ts +5 -0
  207. package/dist/esm/components/TreeView/TreeView.d.ts.map +1 -1
  208. package/dist/esm/components/TreeView/TreeView.js +5 -5
  209. package/dist/esm/components/TreeView/TreeView.js.map +1 -1
  210. package/dist/esm/components/TreeView/TreeViewListItem.d.ts +5 -0
  211. package/dist/esm/components/TreeView/TreeViewListItem.d.ts.map +1 -1
  212. package/dist/esm/components/TreeView/TreeViewListItem.js +8 -4
  213. package/dist/esm/components/TreeView/TreeViewListItem.js.map +1 -1
  214. package/dist/esm/components/TreeView/TreeViewRoot.d.ts.map +1 -1
  215. package/dist/esm/components/TreeView/TreeViewRoot.js +2 -2
  216. package/dist/esm/components/TreeView/TreeViewRoot.js.map +1 -1
  217. package/dist/esm/components/Truncate/Truncate.d.ts +11 -8
  218. package/dist/esm/components/Truncate/Truncate.d.ts.map +1 -1
  219. package/dist/esm/components/Truncate/Truncate.js +16 -9
  220. package/dist/esm/components/Truncate/Truncate.js.map +1 -1
  221. package/dist/esm/demos/DashboardHeader.d.ts.map +1 -1
  222. package/dist/esm/demos/DashboardHeader.js +1 -2
  223. package/dist/esm/demos/DashboardHeader.js.map +1 -1
  224. package/dist/esm/demos/sampleData.d.ts.map +1 -1
  225. package/dist/esm/demos/sampleData.js +225 -226
  226. package/dist/esm/demos/sampleData.js.map +1 -1
  227. package/dist/esm/demos/sampleDataRTL.d.ts +7 -0
  228. package/dist/esm/demos/sampleDataRTL.d.ts.map +1 -0
  229. package/dist/esm/demos/sampleDataRTL.js +128 -0
  230. package/dist/esm/demos/sampleDataRTL.js.map +1 -0
  231. package/dist/esm/helpers/KeyboardHandler.js +3 -2
  232. package/dist/esm/helpers/KeyboardHandler.js.map +1 -1
  233. package/dist/esm/helpers/Popper/Popper.d.ts.map +1 -1
  234. package/dist/esm/helpers/Popper/Popper.js +1 -0
  235. package/dist/esm/helpers/Popper/Popper.js.map +1 -1
  236. package/dist/esm/helpers/util.d.ts +17 -0
  237. package/dist/esm/helpers/util.d.ts.map +1 -1
  238. package/dist/esm/helpers/util.js +36 -0
  239. package/dist/esm/helpers/util.js.map +1 -1
  240. package/dist/js/components/Alert/AlertGroupInline.d.ts.map +1 -1
  241. package/dist/js/components/Alert/AlertGroupInline.js +6 -0
  242. package/dist/js/components/Alert/AlertGroupInline.js.map +1 -1
  243. package/dist/js/components/Button/Button.d.ts +12 -0
  244. package/dist/js/components/Button/Button.d.ts.map +1 -1
  245. package/dist/js/components/Button/Button.js +33 -3
  246. package/dist/js/components/Button/Button.js.map +1 -1
  247. package/dist/js/components/Button/hamburgerIcon.d.ts +2 -0
  248. package/dist/js/components/Button/hamburgerIcon.d.ts.map +1 -0
  249. package/dist/js/components/Button/hamburgerIcon.js +11 -0
  250. package/dist/js/components/Button/hamburgerIcon.js.map +1 -0
  251. package/dist/js/components/ClipboardCopy/ClipboardCopy.d.ts.map +1 -1
  252. package/dist/js/components/ClipboardCopy/ClipboardCopy.js +2 -2
  253. package/dist/js/components/ClipboardCopy/ClipboardCopy.js.map +1 -1
  254. package/dist/js/components/ClipboardCopy/ClipboardCopyToggle.js +1 -1
  255. package/dist/js/components/ClipboardCopy/ClipboardCopyToggle.js.map +1 -1
  256. package/dist/js/components/DualListSelector/DualListSelector.d.ts +5 -0
  257. package/dist/js/components/DualListSelector/DualListSelector.d.ts.map +1 -1
  258. package/dist/js/components/DualListSelector/DualListSelector.js +4 -3
  259. package/dist/js/components/DualListSelector/DualListSelector.js.map +1 -1
  260. package/dist/js/components/DualListSelector/DualListSelectorContext.d.ts +1 -0
  261. package/dist/js/components/DualListSelector/DualListSelectorContext.d.ts.map +1 -1
  262. package/dist/js/components/DualListSelector/DualListSelectorContext.js +1 -1
  263. package/dist/js/components/DualListSelector/DualListSelectorContext.js.map +1 -1
  264. package/dist/js/components/DualListSelector/DualListSelectorListWrapper.d.ts.map +1 -1
  265. package/dist/js/components/DualListSelector/DualListSelectorListWrapper.js +1 -1
  266. package/dist/js/components/DualListSelector/DualListSelectorListWrapper.js.map +1 -1
  267. package/dist/js/components/DualListSelector/DualListSelectorTree.d.ts.map +1 -1
  268. package/dist/js/components/DualListSelector/DualListSelectorTree.js +4 -1
  269. package/dist/js/components/DualListSelector/DualListSelectorTree.js.map +1 -1
  270. package/dist/js/components/DualListSelector/DualListSelectorTreeItem.d.ts +5 -0
  271. package/dist/js/components/DualListSelector/DualListSelectorTreeItem.d.ts.map +1 -1
  272. package/dist/js/components/DualListSelector/DualListSelectorTreeItem.js +7 -3
  273. package/dist/js/components/DualListSelector/DualListSelectorTreeItem.js.map +1 -1
  274. package/dist/js/components/ExpandableSection/ExpandableSection.d.ts +5 -1
  275. package/dist/js/components/ExpandableSection/ExpandableSection.d.ts.map +1 -1
  276. package/dist/js/components/ExpandableSection/ExpandableSection.js +6 -2
  277. package/dist/js/components/ExpandableSection/ExpandableSection.js.map +1 -1
  278. package/dist/js/components/ExpandableSection/ExpandableSectionToggle.d.ts +2 -0
  279. package/dist/js/components/ExpandableSection/ExpandableSectionToggle.d.ts.map +1 -1
  280. package/dist/js/components/ExpandableSection/ExpandableSectionToggle.js +4 -3
  281. package/dist/js/components/ExpandableSection/ExpandableSectionToggle.js.map +1 -1
  282. package/dist/js/components/Form/FormFieldGroupExpandable.d.ts +5 -0
  283. package/dist/js/components/Form/FormFieldGroupExpandable.d.ts.map +1 -1
  284. package/dist/js/components/Form/FormFieldGroupExpandable.js +2 -2
  285. package/dist/js/components/Form/FormFieldGroupExpandable.js.map +1 -1
  286. package/dist/js/components/Form/InternalFormFieldGroup.d.ts +5 -0
  287. package/dist/js/components/Form/InternalFormFieldGroup.d.ts.map +1 -1
  288. package/dist/js/components/Form/InternalFormFieldGroup.js +2 -2
  289. package/dist/js/components/Form/InternalFormFieldGroup.js.map +1 -1
  290. package/dist/js/components/Label/Label.js +57 -57
  291. package/dist/js/components/Label/Label.js.map +1 -1
  292. package/dist/js/components/Menu/Menu.js +3 -3
  293. package/dist/js/components/Menu/Menu.js.map +1 -1
  294. package/dist/js/components/MenuToggle/MenuToggle.d.ts +2 -0
  295. package/dist/js/components/MenuToggle/MenuToggle.d.ts.map +1 -1
  296. package/dist/js/components/MenuToggle/MenuToggle.js +4 -3
  297. package/dist/js/components/MenuToggle/MenuToggle.js.map +1 -1
  298. package/dist/js/components/Nav/NavExpandable.d.ts.map +1 -1
  299. package/dist/js/components/Nav/NavExpandable.js +1 -1
  300. package/dist/js/components/Nav/NavExpandable.js.map +1 -1
  301. package/dist/js/components/Page/PageToggleButton.d.ts +4 -0
  302. package/dist/js/components/Page/PageToggleButton.d.ts.map +1 -1
  303. package/dist/js/components/Page/PageToggleButton.js +2 -2
  304. package/dist/js/components/Page/PageToggleButton.js.map +1 -1
  305. package/dist/js/components/Popover/Popover.d.ts.map +1 -1
  306. package/dist/js/components/Popover/Popover.js +11 -1
  307. package/dist/js/components/Popover/Popover.js.map +1 -1
  308. package/dist/js/components/SearchInput/AdvancedSearchMenu.d.ts.map +1 -1
  309. package/dist/js/components/SearchInput/AdvancedSearchMenu.js +12 -18
  310. package/dist/js/components/SearchInput/AdvancedSearchMenu.js.map +1 -1
  311. package/dist/js/components/SearchInput/SearchInput.d.ts +4 -0
  312. package/dist/js/components/SearchInput/SearchInput.d.ts.map +1 -1
  313. package/dist/js/components/SearchInput/SearchInput.js +36 -12
  314. package/dist/js/components/SearchInput/SearchInput.js.map +1 -1
  315. package/dist/js/components/Tabs/OverflowTab.d.ts +26 -0
  316. package/dist/js/components/Tabs/OverflowTab.d.ts.map +1 -1
  317. package/dist/js/components/Tabs/OverflowTab.js +2 -2
  318. package/dist/js/components/Tabs/OverflowTab.js.map +1 -1
  319. package/dist/js/components/Tabs/Tab.d.ts.map +1 -1
  320. package/dist/js/components/Tabs/Tab.js +4 -1
  321. package/dist/js/components/Tabs/Tab.js.map +1 -1
  322. package/dist/js/components/Tabs/Tabs.d.ts +10 -0
  323. package/dist/js/components/Tabs/Tabs.d.ts.map +1 -1
  324. package/dist/js/components/Tabs/Tabs.js +45 -11
  325. package/dist/js/components/Tabs/Tabs.js.map +1 -1
  326. package/dist/js/components/Tabs/TabsContext.d.ts +1 -0
  327. package/dist/js/components/Tabs/TabsContext.d.ts.map +1 -1
  328. package/dist/js/components/Tabs/TabsContext.js +1 -0
  329. package/dist/js/components/Tabs/TabsContext.js.map +1 -1
  330. package/dist/js/components/TreeView/TreeView.d.ts +5 -0
  331. package/dist/js/components/TreeView/TreeView.d.ts.map +1 -1
  332. package/dist/js/components/TreeView/TreeView.js +5 -5
  333. package/dist/js/components/TreeView/TreeView.js.map +1 -1
  334. package/dist/js/components/TreeView/TreeViewListItem.d.ts +5 -0
  335. package/dist/js/components/TreeView/TreeViewListItem.d.ts.map +1 -1
  336. package/dist/js/components/TreeView/TreeViewListItem.js +7 -3
  337. package/dist/js/components/TreeView/TreeViewListItem.js.map +1 -1
  338. package/dist/js/components/TreeView/TreeViewRoot.d.ts.map +1 -1
  339. package/dist/js/components/TreeView/TreeViewRoot.js +2 -2
  340. package/dist/js/components/TreeView/TreeViewRoot.js.map +1 -1
  341. package/dist/js/components/Truncate/Truncate.d.ts +11 -8
  342. package/dist/js/components/Truncate/Truncate.d.ts.map +1 -1
  343. package/dist/js/components/Truncate/Truncate.js +15 -9
  344. package/dist/js/components/Truncate/Truncate.js.map +1 -1
  345. package/dist/js/demos/DashboardHeader.d.ts.map +1 -1
  346. package/dist/js/demos/DashboardHeader.js +1 -2
  347. package/dist/js/demos/DashboardHeader.js.map +1 -1
  348. package/dist/js/demos/sampleData.d.ts.map +1 -1
  349. package/dist/js/demos/sampleData.js +225 -226
  350. package/dist/js/demos/sampleData.js.map +1 -1
  351. package/dist/js/demos/sampleDataRTL.d.ts +7 -0
  352. package/dist/js/demos/sampleDataRTL.d.ts.map +1 -0
  353. package/dist/js/demos/sampleDataRTL.js +131 -0
  354. package/dist/js/demos/sampleDataRTL.js.map +1 -0
  355. package/dist/js/helpers/KeyboardHandler.js +3 -2
  356. package/dist/js/helpers/KeyboardHandler.js.map +1 -1
  357. package/dist/js/helpers/Popper/Popper.d.ts.map +1 -1
  358. package/dist/js/helpers/Popper/Popper.js +1 -0
  359. package/dist/js/helpers/Popper/Popper.js.map +1 -1
  360. package/dist/js/helpers/util.d.ts +17 -0
  361. package/dist/js/helpers/util.d.ts.map +1 -1
  362. package/dist/js/helpers/util.js +39 -1
  363. package/dist/js/helpers/util.js.map +1 -1
  364. package/dist/styles/assets/images/icon-help.hbs +3 -0
  365. package/dist/styles/assets/images/icon-outlined-star.hbs +3 -0
  366. package/dist/styles/assets/images/icon-star.hbs +3 -0
  367. package/dist/styles/base-no-reset.css +52 -11
  368. package/dist/styles/base.css +52 -11
  369. package/dist/umd/assets/{output-B5tbNQwm.css → output-BvTy70LD.css} +15500 -14758
  370. package/dist/umd/react-core.min.js +3 -3
  371. package/helpers/package.json +1 -1
  372. package/layouts/package.json +1 -1
  373. package/next/package.json +1 -1
  374. package/package.json +6 -6
  375. package/src/components/Alert/AlertGroupInline.tsx +13 -2
  376. package/src/components/Button/Button.tsx +78 -5
  377. package/src/components/Button/__tests__/Button.test.tsx +380 -74
  378. package/src/components/Button/__tests__/__snapshots__/Button.test.tsx.snap +1 -1
  379. package/src/components/Button/examples/Button.md +57 -14
  380. package/src/components/Button/examples/ButtonFavorite.tsx +18 -0
  381. package/src/components/Button/examples/ButtonHamburger.tsx +9 -0
  382. package/src/components/Button/examples/ButtonSettings.tsx +10 -0
  383. package/src/components/Button/hamburgerIcon.tsx +13 -0
  384. package/src/components/Card/examples/Card.md +1 -1
  385. package/src/components/Card/examples/CardSelectable.tsx +73 -60
  386. package/src/components/Card/examples/CardSingleSelectable.tsx +65 -48
  387. package/src/components/ClipboardCopy/ClipboardCopy.tsx +2 -1
  388. package/src/components/ClipboardCopy/ClipboardCopyToggle.tsx +1 -1
  389. package/src/components/ClipboardCopy/__tests__/ClipboardCopyToggle.test.tsx +7 -1
  390. package/src/components/ClipboardCopy/__tests__/__snapshots__/ClipboardCopyToggle.test.tsx.snap +0 -1
  391. package/src/components/DualListSelector/DualListSelector.tsx +18 -4
  392. package/src/components/DualListSelector/DualListSelectorContext.ts +2 -1
  393. package/src/components/DualListSelector/DualListSelectorListWrapper.tsx +8 -5
  394. package/src/components/DualListSelector/DualListSelectorTree.tsx +4 -0
  395. package/src/components/DualListSelector/DualListSelectorTreeItem.tsx +17 -2
  396. package/src/components/DualListSelector/__tests__/DualListSelector.test.tsx +32 -1
  397. package/src/components/DualListSelector/__tests__/DualListSelectorTreeItem.test.tsx +55 -0
  398. package/src/components/DualListSelector/examples/DualListSelectorTree.tsx +1 -1
  399. package/src/components/ExpandableSection/ExpandableSection.tsx +13 -1
  400. package/src/components/ExpandableSection/ExpandableSectionToggle.tsx +5 -1
  401. package/src/components/ExpandableSection/__tests__/ExpandableSection.test.tsx +85 -23
  402. package/src/components/ExpandableSection/__tests__/ExpandableSectionToggle.test.tsx +32 -0
  403. package/src/components/ExpandableSection/__tests__/__snapshots__/ExpandableSection.test.tsx.snap +1 -63
  404. package/src/components/ExpandableSection/examples/ExpandableSection.md +2 -0
  405. package/src/components/ExpandableSection/examples/ExpandableSectionDetached.tsx +1 -1
  406. package/src/components/Form/FormFieldGroupExpandable.tsx +7 -0
  407. package/src/components/Form/InternalFormFieldGroup.tsx +19 -3
  408. package/src/components/Form/__tests__/FormFieldGroupExpandable.test.tsx +55 -0
  409. package/src/components/Form/examples/FormFieldGroups.tsx +7 -1
  410. package/src/components/Label/Label.tsx +63 -63
  411. package/src/components/Masthead/examples/MastheadBasic.tsx +1 -2
  412. package/src/components/Masthead/examples/MastheadBasicMixedContent.tsx +1 -2
  413. package/src/components/Masthead/examples/MastheadDisplayInline.tsx +1 -2
  414. package/src/components/Masthead/examples/MastheadDisplayStack.tsx +1 -2
  415. package/src/components/Masthead/examples/MastheadDisplayStackInlineResponsive.tsx +1 -2
  416. package/src/components/Masthead/examples/MastheadInsets.tsx +1 -2
  417. package/src/components/Masthead/examples/MastheadLogoCustomComponent.tsx +1 -2
  418. package/src/components/Menu/Menu.tsx +3 -3
  419. package/src/components/MenuToggle/MenuToggle.tsx +6 -1
  420. package/src/components/MenuToggle/__tests__/MenuToggle.test.tsx +59 -45
  421. package/src/components/MenuToggle/__tests__/__snapshots__/MenuToggle.test.tsx.snap +9 -9
  422. package/src/components/MenuToggle/examples/MenuToggle.md +14 -30
  423. package/src/components/MenuToggle/examples/MenuToggleCustomIcon.tsx +17 -0
  424. package/src/components/MenuToggle/examples/MenuToggleSettings.tsx +8 -0
  425. package/src/components/Nav/NavExpandable.tsx +6 -1
  426. package/src/components/Nav/__tests__/Generated/__snapshots__/NavExpandable.test.tsx.snap +1 -0
  427. package/src/components/Nav/__tests__/NavExpandable.test.tsx +15 -0
  428. package/src/components/Nav/__tests__/__snapshots__/Nav.test.tsx.snap +3 -0
  429. package/src/components/Page/PageToggleButton.tsx +9 -2
  430. package/src/components/Page/examples/Page.md +1 -1
  431. package/src/components/Page/examples/PageCenteredSection.tsx +4 -8
  432. package/src/components/Page/examples/PageGroupSection.tsx +2 -5
  433. package/src/components/Page/examples/PageMainSectionPadding.tsx +2 -5
  434. package/src/components/Page/examples/PageMainSectionVariations.tsx +2 -5
  435. package/src/components/Page/examples/PageMultipleSidebarBody.tsx +2 -5
  436. package/src/components/Page/examples/PageUncontrolledNav.tsx +1 -4
  437. package/src/components/Page/examples/PageVerticalNav.tsx +2 -5
  438. package/src/components/Page/examples/PageWithOrWithoutFill.tsx +2 -5
  439. package/src/components/Popover/Popover.tsx +13 -1
  440. package/src/components/SearchInput/AdvancedSearchMenu.tsx +15 -23
  441. package/src/components/SearchInput/SearchInput.tsx +111 -15
  442. package/src/components/SearchInput/__tests__/SearchInput.test.tsx +84 -0
  443. package/src/components/SearchInput/examples/SearchInput.md +11 -2
  444. package/src/components/SearchInput/examples/SearchInputWithExpandable.tsx +6 -1
  445. package/src/components/Skeleton/examples/SkeletonText.tsx +0 -1
  446. package/src/components/Tabs/OverflowTab.tsx +29 -0
  447. package/src/components/Tabs/Tab.tsx +6 -2
  448. package/src/components/Tabs/Tabs.tsx +76 -11
  449. package/src/components/Tabs/TabsContext.ts +2 -0
  450. package/src/components/Tabs/__tests__/Tabs.test.tsx +65 -1
  451. package/src/components/Tabs/__tests__/__snapshots__/Tabs.test.tsx.snap +39 -26
  452. package/src/components/Tabs/examples/Tabs.md +1 -1
  453. package/src/components/Timestamp/examples/TimestampBasicFormats.tsx +1 -1
  454. package/src/components/Timestamp/examples/TimestampDefaultTooltip.tsx +1 -1
  455. package/src/components/TreeView/TreeView.tsx +9 -0
  456. package/src/components/TreeView/TreeViewListItem.tsx +18 -5
  457. package/src/components/TreeView/TreeViewRoot.tsx +4 -2
  458. package/src/components/TreeView/__tests__/TreeView.test.tsx +8 -1
  459. package/src/components/TreeView/__tests__/TreeViewList.test.tsx +39 -0
  460. package/src/components/TreeView/__tests__/TreeViewListItem.test.tsx +17 -3
  461. package/src/components/TreeView/__tests__/__snapshots__/TreeView.test.tsx.snap +3 -0
  462. package/src/components/TreeView/examples/TreeViewCompact.tsx +1 -1
  463. package/src/components/TreeView/examples/TreeViewCompactNoBackground.tsx +8 -1
  464. package/src/components/TreeView/examples/TreeViewGuides.tsx +1 -1
  465. package/src/components/TreeView/examples/TreeViewMultiselectable.tsx +1 -0
  466. package/src/components/TreeView/examples/TreeViewSelectionExpansion.tsx +1 -0
  467. package/src/components/TreeView/examples/TreeViewSingleSelectable.tsx +1 -0
  468. package/src/components/TreeView/examples/TreeViewWithActionItems.tsx +1 -0
  469. package/src/components/TreeView/examples/TreeViewWithBadges.tsx +1 -0
  470. package/src/components/TreeView/examples/TreeViewWithCheckboxes.tsx +9 -1
  471. package/src/components/TreeView/examples/TreeViewWithCustomBadges.tsx +1 -0
  472. package/src/components/TreeView/examples/TreeViewWithIconPerItem.tsx +1 -0
  473. package/src/components/TreeView/examples/TreeViewWithIcons.tsx +1 -0
  474. package/src/components/TreeView/examples/TreeViewWithMemoization.tsx +1 -0
  475. package/src/components/TreeView/examples/TreeViewWithSearch.tsx +1 -0
  476. package/src/components/Truncate/Truncate.tsx +40 -19
  477. package/src/components/Truncate/__tests__/Truncate.test.tsx +24 -0
  478. package/src/components/Truncate/examples/Truncate.md +8 -0
  479. package/src/components/Truncate/examples/TruncateLinks.tsx +22 -0
  480. package/src/demos/CardDemos.md +1 -1
  481. package/src/demos/DashboardHeader.tsx +2 -5
  482. package/src/demos/NotificationDrawer/examples/NotificationDrawerBasic.tsx +2 -5
  483. package/src/demos/NotificationDrawer/examples/NotificationDrawerGrouped.tsx +2 -5
  484. package/src/demos/RTL/RTL.md +1 -0
  485. package/src/demos/RTL/examples/PaginatedTable.tsx +18 -53
  486. package/src/demos/examples/Card/CardAggregateStatus.tsx +2 -6
  487. package/src/demos/examples/Card/CardDetails.tsx +2 -3
  488. package/src/demos/examples/Card/CardEventsView.tsx +2 -3
  489. package/src/demos/examples/Card/CardLogView.tsx +2 -3
  490. package/src/demos/examples/Card/CardStatus.tsx +0 -1
  491. package/src/demos/examples/Card/CardUtilizationDemo3.tsx +0 -1
  492. package/src/demos/examples/Masthead/MastheadWithHorizontalNav.tsx +1 -1
  493. package/src/demos/examples/Masthead/MastheadWithUtilitiesAndUserDropdownMenu.tsx +2 -5
  494. package/src/demos/examples/Nav/NavFlyout.tsx +3 -6
  495. package/src/demos/examples/Nav/NavHorizontal.tsx +1 -1
  496. package/src/demos/examples/Nav/NavHorizontalWithSubnav.tsx +2 -5
  497. package/src/demos/examples/Nav/NavManual.tsx +3 -6
  498. package/src/demos/examples/Page/PageContextSelector.tsx +3 -6
  499. package/src/demos/examples/Page/PageStickySectionBreadcrumb.tsx +2 -5
  500. package/src/demos/examples/Page/PageStickySectionGroup.tsx +2 -5
  501. package/src/demos/examples/Page/PageStickySectionGroupAlternate.tsx +2 -5
  502. package/src/demos/examples/Toolbar/ConsoleLogViewerToolbar.tsx +2 -3
  503. package/src/demos/examples/Wizard/InPageWithDrawer.tsx +1 -4
  504. package/src/demos/examples/Wizard/InPageWithDrawerInformationalStep.tsx +1 -4
  505. package/src/demos/sampleData.tsx +225 -227
  506. package/src/demos/sampleDataRTL.tsx +133 -0
  507. package/src/helpers/KeyboardHandler.tsx +2 -2
  508. package/src/helpers/Popper/Popper.tsx +1 -0
  509. package/src/helpers/util.ts +45 -0
  510. package/src/demos/RTL/examples/PaginatedTable.jsx +0 -504
@@ -8,7 +8,7 @@ propComponents: ['MenuToggle', 'MenuToggleAction', 'MenuToggleCheckbox']
8
8
 
9
9
  import { Fragment, useState } from 'react';
10
10
  import './MenuToggle.css'
11
- import CogIcon from '@patternfly/react-icons/dist/esm/icons/cog-icon';
11
+ import PlusIcon from '@patternfly/react-icons/dist/esm/icons/plus-icon';
12
12
  import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
13
13
  import imgAvatar from '@patternfly/react-core/src/components/assets/avatarImg.svg';
14
14
  import TimesIcon from '@patternfly/react-icons/dist/esm/icons/times-icon';
@@ -70,38 +70,22 @@ import { MenuToggle, Badge } from '@patternfly/react-core';
70
70
  </Fragment>
71
71
  ```
72
72
 
73
- ### With icons
73
+ ### Settings toggle
74
+
75
+ To create a "settings" menu toggle that will animate on hover and focus, you can pass the `isSettings` property in. Doing so will override the `icon` property, as a specific icon is used internally for the animations.
74
76
 
75
- To add a recognizable icon to a menu toggle, use the `icon` property. The following example adds a `CogIcon` to the toggle.
77
+ ```ts file="./MenuToggleSettings.tsx"
78
+
79
+ ```
80
+
81
+ ### Custom icons
82
+
83
+ To add a recognizable icon to a menu toggle, use the `icon` property. The following example adds a `PlusIcon` to the toggle.
76
84
 
77
85
  For most basic icons, it is recommended to wrap it inside our [icon component](/components/icon).
78
86
 
79
- ```ts
80
- import { Fragment } from 'react';
81
- import { MenuToggle } from '@patternfly/react-core';
82
- import CogIcon from '@patternfly/react-icons/dist/esm/icons/cog-icon';
87
+ ```ts file="./MenuToggleCustomIcon.tsx"
83
88
 
84
- <Fragment>
85
- <MenuToggle
86
- icon={<CogIcon />}
87
- variant="primary"
88
- >
89
- Icon
90
- </MenuToggle>{' '}
91
- <MenuToggle
92
- icon={<CogIcon />}
93
- variant="secondary"
94
- >
95
- Icon
96
- </MenuToggle>{' '}
97
- <MenuToggle
98
- icon={<CogIcon />}
99
- variant="secondary"
100
- isDisabled
101
- >
102
- Icon
103
- </MenuToggle>
104
- </Fragment>;
105
89
  ```
106
90
 
107
91
  ### With avatar and text
@@ -202,13 +186,13 @@ Variant styling can be applied to split button toggles to adjust their appearanc
202
186
 
203
187
  You can allow users to select a toggle checkbox by clicking either the checkbox or the text label.
204
188
 
205
- To link a split toggle label to the toggle's checkbox, pass both the label and the `<MenuToggleCheckbox>` component to `splitButtonItems`.
189
+ To link a split toggle label to the toggle's checkbox, pass both the label and the `<MenuToggleCheckbox>` component to `splitButtonItems`.
206
190
 
207
191
  ```ts file='MenuToggleSplitButtonCheckboxWithText.tsx'
208
192
 
209
193
  ```
210
194
 
211
- ### Split toggle with checkbox and toggle text
195
+ ### Split toggle with checkbox and toggle text
212
196
 
213
197
  To link a split toggle label to the toggle button itself, pass the label to the `<MenuToggle>` component, instead of `splitButtonItems`.
214
198
 
@@ -0,0 +1,17 @@
1
+ import { Fragment } from 'react';
2
+ import { MenuToggle } from '@patternfly/react-core';
3
+ import PlusIcon from '@patternfly/react-icons/dist/esm/icons/plus-icon';
4
+
5
+ export const MenuToggleCustomIcon: React.FC = () => (
6
+ <Fragment>
7
+ <MenuToggle icon={<PlusIcon />} variant="primary">
8
+ Icon
9
+ </MenuToggle>{' '}
10
+ <MenuToggle icon={<PlusIcon />} variant="secondary">
11
+ Icon
12
+ </MenuToggle>{' '}
13
+ <MenuToggle icon={<PlusIcon />} variant="secondary" isDisabled>
14
+ Icon
15
+ </MenuToggle>
16
+ </Fragment>
17
+ );
@@ -0,0 +1,8 @@
1
+ import { Fragment } from 'react/jsx-runtime';
2
+ import { MenuToggle } from '@patternfly/react-core';
3
+
4
+ export const MenuToggleSettings: React.FunctionComponent = () => (
5
+ <Fragment>
6
+ <MenuToggle isSettings>Settings</MenuToggle> <MenuToggle isSettings variant="plain" aria-label="Settings" />
7
+ </Fragment>
8
+ );
@@ -141,7 +141,12 @@ class NavExpandable extends Component<NavExpandableProps, NavExpandableState> {
141
141
  </button>
142
142
  )}
143
143
  </PageSidebarContext.Consumer>
144
- <section className={css(styles.navSubnav)} aria-labelledby={this.id} hidden={expandedState ? null : true}>
144
+ <section
145
+ className={css(styles.navSubnav)}
146
+ aria-labelledby={this.id}
147
+ hidden={expandedState ? null : true}
148
+ {...(!expandedState && { inert: '' })}
149
+ >
145
150
  {srText && (
146
151
  <h2 className="pf-v6-screen-reader" id={this.id}>
147
152
  {srText}
@@ -39,6 +39,7 @@ exports[`NavExpandable should match snapshot (auto-generated) 1`] = `
39
39
  aria-labelledby="''"
40
40
  class="pf-v6-c-nav__subnav"
41
41
  hidden=""
42
+ inert=""
42
43
  >
43
44
  <h2
44
45
  class="pf-v6-screen-reader"
@@ -0,0 +1,15 @@
1
+ import { render, screen } from '@testing-library/react';
2
+ import '@testing-library/jest-dom';
3
+ import { NavExpandable } from '../NavExpandable';
4
+
5
+ test('Renders with the inert attribute by default', () => {
6
+ render(<NavExpandable id="grp-1" title="NavExpandable"></NavExpandable>);
7
+
8
+ expect(screen.getByLabelText('NavExpandable')).toHaveAttribute('inert', '');
9
+ });
10
+
11
+ test('Does not render with the inert attribute when isExpanded is true', () => {
12
+ render(<NavExpandable id="grp-1" title="NavExpandable" isExpanded={true}></NavExpandable>);
13
+
14
+ expect(screen.getByLabelText('NavExpandable')).not.toHaveAttribute('inert', '');
15
+ });
@@ -223,6 +223,7 @@ exports[`Nav Expandable Nav List - Trigger toggle 1`] = `
223
223
  aria-labelledby="grp-1"
224
224
  class="pf-v6-c-nav__subnav"
225
225
  hidden=""
226
+ inert=""
226
227
  >
227
228
  <ul
228
229
  class="pf-v6-c-nav__list"
@@ -355,6 +356,7 @@ exports[`Nav Expandable Nav List 1`] = `
355
356
  aria-labelledby="grp-1"
356
357
  class="pf-v6-c-nav__subnav"
357
358
  hidden=""
359
+ inert=""
358
360
  >
359
361
  <ul
360
362
  class="pf-v6-c-nav__list"
@@ -486,6 +488,7 @@ exports[`Nav Expandable Nav List with aria label 1`] = `
486
488
  aria-labelledby="grp-1"
487
489
  class="pf-v6-c-nav__subnav"
488
490
  hidden=""
491
+ inert=""
489
492
  >
490
493
  <h2
491
494
  class="pf-v6-screen-reader"
@@ -10,6 +10,10 @@ export interface PageToggleButtonProps extends ButtonProps {
10
10
  onSidebarToggle?: () => void;
11
11
  /** Button id */
12
12
  id?: string;
13
+ /** Adds an accessible name to the toggle button. */
14
+ 'aria-label'?: string;
15
+ /** Flag indicating whether the hamburger button variation with animations should be used. */
16
+ isHamburgerButton?: boolean;
13
17
  }
14
18
 
15
19
  export const PageToggleButton: React.FunctionComponent<PageToggleButtonProps> = ({
@@ -17,6 +21,8 @@ export const PageToggleButton: React.FunctionComponent<PageToggleButtonProps> =
17
21
  isSidebarOpen = true,
18
22
  onSidebarToggle = () => undefined as any,
19
23
  id = 'nav-toggle',
24
+ 'aria-label': ariaLabel = 'Side navigation toggle',
25
+ isHamburgerButton,
20
26
  ...props
21
27
  }: PageToggleButtonProps) => (
22
28
  <PageContextConsumer>
@@ -32,12 +38,13 @@ export const PageToggleButton: React.FunctionComponent<PageToggleButtonProps> =
32
38
  <Button
33
39
  id={id}
34
40
  onClick={sidebarToggle}
35
- aria-label="Side navigation toggle"
41
+ aria-label={ariaLabel}
36
42
  aria-expanded={sidebarOpen ? 'true' : 'false'}
37
43
  variant={ButtonVariant.plain}
44
+ isHamburger={isHamburgerButton}
38
45
  {...props}
39
46
  >
40
- {children}
47
+ {!isHamburgerButton && children}
41
48
  </Button>
42
49
  );
43
50
  }}
@@ -8,7 +8,7 @@ propComponents:
8
8
 
9
9
  import { useState } from 'react';
10
10
  import BarsIcon from '@patternfly/react-icons/dist/js/icons/bars-icon';
11
- import c_page_section_m_limit_width_MaxWidth from '@patternfly/react-tokens/dist/esm/c_page_section_m_limit_width_MaxWidth';
11
+ import pageSectionWidthLimitMaxWidth from '@patternfly/react-tokens/dist/esm/c_page_section_m_limit_width_MaxWidth';
12
12
 
13
13
  ## Examples
14
14
 
@@ -17,9 +17,7 @@ import {
17
17
  Card,
18
18
  CardBody
19
19
  } from '@patternfly/react-core';
20
- import BarsIcon from '@patternfly/react-icons/dist/esm/icons/bars-icon';
21
- /* eslint-disable camelcase */
22
- import c_page_section_m_limit_width_MaxWidth from '@patternfly/react-tokens/dist/esm/c_page_section_m_limit_width_MaxWidth';
20
+ import pageSectionWidthLimitMaxWidth from '@patternfly/react-tokens/dist/esm/c_page_section_m_limit_width_MaxWidth';
23
21
 
24
22
  export const PageCenteredSection: React.FunctionComponent = () => {
25
23
  const [isSidebarOpen, setIsSidebarOpen] = useState(true);
@@ -41,14 +39,12 @@ export const PageCenteredSection: React.FunctionComponent = () => {
41
39
  <MastheadMain>
42
40
  <MastheadToggle>
43
41
  <PageToggleButton
44
- variant="plain"
45
42
  aria-label="Global navigation"
46
43
  isSidebarOpen={isSidebarOpen}
47
44
  onSidebarToggle={onSidebarToggle}
48
45
  id="centered-nav-toggle"
49
- >
50
- <BarsIcon />
51
- </PageToggleButton>
46
+ isHamburgerButton
47
+ />
52
48
  </MastheadToggle>
53
49
  <MastheadBrand>
54
50
  <MastheadLogo href="https://patternfly.org" target="_blank">
@@ -72,7 +68,7 @@ export const PageCenteredSection: React.FunctionComponent = () => {
72
68
  <Card>
73
69
  <CardBody>
74
70
  When a width limited page section is wider than the value of
75
- <code>{c_page_section_m_limit_width_MaxWidth.name}</code>, the section will be centered in the main section.
71
+ <code>{pageSectionWidthLimitMaxWidth.name}</code>, the section will be centered in the main section.
76
72
  <br />
77
73
  <br />
78
74
  The content in this example is placed in a card to better illustrate how the section behaves when it is
@@ -22,7 +22,6 @@ import {
22
22
  ToolbarContent,
23
23
  ToolbarItem
24
24
  } from '@patternfly/react-core';
25
- import BarsIcon from '@patternfly/react-icons/dist/esm/icons/bars-icon';
26
25
 
27
26
  export const PageGroupSection: React.FunctionComponent = () => {
28
27
  const [isSidebarOpen, setIsSidebarOpen] = useState(true);
@@ -44,14 +43,12 @@ export const PageGroupSection: React.FunctionComponent = () => {
44
43
  <MastheadMain>
45
44
  <MastheadToggle>
46
45
  <PageToggleButton
47
- variant="plain"
48
46
  aria-label="Global navigation"
49
47
  isSidebarOpen={isSidebarOpen}
50
48
  onSidebarToggle={onSidebarToggle}
51
49
  id="group-section-nav-toggle"
52
- >
53
- <BarsIcon />
54
- </PageToggleButton>
50
+ isHamburgerButton
51
+ />
55
52
  </MastheadToggle>
56
53
  <MastheadBrand>
57
54
  <MastheadLogo href="https://patternfly.org" target="_blank">
@@ -15,7 +15,6 @@ import {
15
15
  ToolbarContent,
16
16
  ToolbarItem
17
17
  } from '@patternfly/react-core';
18
- import BarsIcon from '@patternfly/react-icons/dist/esm/icons/bars-icon';
19
18
 
20
19
  export const PageMainSectionPadding: React.FunctionComponent = () => {
21
20
  const [isSidebarOpen, setIsSidebarOpen] = useState(true);
@@ -37,14 +36,12 @@ export const PageMainSectionPadding: React.FunctionComponent = () => {
37
36
  <MastheadMain>
38
37
  <MastheadToggle>
39
38
  <PageToggleButton
40
- variant="plain"
41
39
  aria-label="Global navigation"
42
40
  isSidebarOpen={isSidebarOpen}
43
41
  onSidebarToggle={onSidebarToggle}
44
42
  id="main-padding-nav-toggle"
45
- >
46
- <BarsIcon />
47
- </PageToggleButton>
43
+ isHamburgerButton
44
+ />
48
45
  </MastheadToggle>
49
46
  <MastheadBrand>
50
47
  <MastheadLogo href="https://patternfly.org" target="_blank">
@@ -15,7 +15,6 @@ import {
15
15
  ToolbarContent,
16
16
  ToolbarItem
17
17
  } from '@patternfly/react-core';
18
- import BarsIcon from '@patternfly/react-icons/dist/esm/icons/bars-icon';
19
18
 
20
19
  export const PageMainSectionPadding: React.FunctionComponent = () => {
21
20
  const [isSidebarOpen, setIsSidebarOpen] = useState(true);
@@ -37,14 +36,12 @@ export const PageMainSectionPadding: React.FunctionComponent = () => {
37
36
  <MastheadMain>
38
37
  <MastheadToggle>
39
38
  <PageToggleButton
40
- variant="plain"
41
39
  aria-label="Global navigation"
42
40
  isSidebarOpen={isSidebarOpen}
43
41
  onSidebarToggle={onSidebarToggle}
44
42
  id="main-variations-nav-toggle"
45
- >
46
- <BarsIcon />
47
- </PageToggleButton>
43
+ isHamburgerButton
44
+ />
48
45
  </MastheadToggle>
49
46
  <MastheadBrand>
50
47
  <MastheadLogo href="https://patternfly.org" target="_blank">
@@ -15,7 +15,6 @@ import {
15
15
  ToolbarContent,
16
16
  ToolbarItem
17
17
  } from '@patternfly/react-core';
18
- import BarsIcon from '@patternfly/react-icons/dist/esm/icons/bars-icon';
19
18
 
20
19
  export const PageMultipleSidebarBody: React.FunctionComponent = () => {
21
20
  const [isSidebarOpen, setIsSidebarOpen] = useState(true);
@@ -37,14 +36,12 @@ export const PageMultipleSidebarBody: React.FunctionComponent = () => {
37
36
  <MastheadMain>
38
37
  <MastheadToggle>
39
38
  <PageToggleButton
40
- variant="plain"
41
39
  aria-label="Global navigation"
42
40
  isSidebarOpen={isSidebarOpen}
43
41
  onSidebarToggle={onSidebarToggle}
44
42
  id="multiple-sidebar-body-nav-toggle"
45
- >
46
- <BarsIcon />
47
- </PageToggleButton>
43
+ isHamburgerButton
44
+ />
48
45
  </MastheadToggle>
49
46
  <MastheadBrand>
50
47
  <MastheadLogo href="https://patternfly.org" target="_blank">
@@ -14,7 +14,6 @@ import {
14
14
  ToolbarContent,
15
15
  ToolbarItem
16
16
  } from '@patternfly/react-core';
17
- import BarsIcon from '@patternfly/react-icons/dist/esm/icons/bars-icon';
18
17
 
19
18
  export const PageUncontrolledNav: React.FunctionComponent = () => {
20
19
  const headerToolbar = (
@@ -29,9 +28,7 @@ export const PageUncontrolledNav: React.FunctionComponent = () => {
29
28
  <Masthead>
30
29
  <MastheadMain>
31
30
  <MastheadToggle>
32
- <PageToggleButton variant="plain" aria-label="Global navigation" id="uncontrolled-nav-toggle">
33
- <BarsIcon />
34
- </PageToggleButton>
31
+ <PageToggleButton isHamburgerButton aria-label="Global navigation" id="uncontrolled-nav-toggle" />
35
32
  </MastheadToggle>
36
33
  <MastheadBrand>
37
34
  <MastheadLogo href="https://patternfly.org" target="_blank">
@@ -15,7 +15,6 @@ import {
15
15
  ToolbarContent,
16
16
  ToolbarItem
17
17
  } from '@patternfly/react-core';
18
- import BarsIcon from '@patternfly/react-icons/dist/esm/icons/bars-icon';
19
18
 
20
19
  export const PageVerticalNav: React.FunctionComponent = () => {
21
20
  const [isSidebarOpen, setIsSidebarOpen] = useState(true);
@@ -37,14 +36,12 @@ export const PageVerticalNav: React.FunctionComponent = () => {
37
36
  <MastheadMain>
38
37
  <MastheadToggle>
39
38
  <PageToggleButton
40
- variant="plain"
39
+ isHamburgerButton
41
40
  aria-label="Global navigation"
42
41
  isSidebarOpen={isSidebarOpen}
43
42
  onSidebarToggle={onSidebarToggle}
44
43
  id="vertical-nav-toggle"
45
- >
46
- <BarsIcon />
47
- </PageToggleButton>
44
+ />
48
45
  </MastheadToggle>
49
46
  <MastheadBrand>
50
47
  <MastheadLogo href="https://patternfly.org" target="_blank">
@@ -15,7 +15,6 @@ import {
15
15
  ToolbarContent,
16
16
  ToolbarItem
17
17
  } from '@patternfly/react-core';
18
- import BarsIcon from '@patternfly/react-icons/dist/esm/icons/bars-icon';
19
18
 
20
19
  export const PageWithOrWithoutFill: React.FunctionComponent = () => {
21
20
  const [isSidebarOpen, setIsSidebarOpen] = useState(true);
@@ -37,14 +36,12 @@ export const PageWithOrWithoutFill: React.FunctionComponent = () => {
37
36
  <MastheadMain>
38
37
  <MastheadToggle>
39
38
  <PageToggleButton
40
- variant="plain"
39
+ isHamburgerButton
41
40
  aria-label="Global navigation"
42
41
  isSidebarOpen={isSidebarOpen}
43
42
  onSidebarToggle={onSidebarToggle}
44
43
  id="fill-nav-toggle"
45
- >
46
- <BarsIcon />
47
- </PageToggleButton>
44
+ />
48
45
  </MastheadToggle>
49
46
  <MastheadBrand>
50
47
  <MastheadLogo href="https://patternfly.org" target="_blank">
@@ -422,10 +422,22 @@ export const Popover: React.FunctionComponent<PopoverProps> = ({
422
422
  new Promise((resolve) => {
423
423
  const interval = setInterval(() => {
424
424
  if (containers.every((container) => getComputedStyle(container).visibility !== 'hidden')) {
425
- resolve();
426
425
  clearInterval(interval);
426
+ resolve();
427
427
  }
428
428
  }, 10);
429
+
430
+ // Clear interval if promise is never resolved (component unmount)
431
+ const timeout = setTimeout(() => {
432
+ clearInterval(interval);
433
+ resolve(); // Resolve to prevent hanging promise
434
+ }, 5000); // 5 second timeout as safety net
435
+
436
+ // Store cleanup function for potential external cleanup
437
+ (resolve as any)._cleanup = () => {
438
+ clearInterval(interval);
439
+ clearTimeout(timeout);
440
+ };
429
441
  }),
430
442
  tabbableOptions: { displayCheck: 'none' },
431
443
 
@@ -2,7 +2,7 @@ import { useEffect, useRef, useState } from 'react';
2
2
  import { Button } from '../Button';
3
3
  import { ActionGroup, Form, FormGroup } from '../Form';
4
4
  import { TextInput } from '../TextInput';
5
- import { GenerateId, KeyTypes } from '../../helpers';
5
+ import { GenerateId } from '../../helpers';
6
6
  import { SearchInputSearchAttribute } from './SearchInput';
7
7
  import { Panel, PanelMain, PanelMainBody } from '../Panel';
8
8
  import { css } from '@patternfly/react-styles';
@@ -89,6 +89,19 @@ export const AdvancedSearchMenu: React.FunctionComponent<AdvancedSearchMenuProps
89
89
  }, [isSearchMenuOpen]);
90
90
 
91
91
  useEffect(() => {
92
+ const onDocClick = (event: Event) => {
93
+ const clickedWithinSearchInput = parentRef && parentRef.current.contains(event.target as Node);
94
+ if (isSearchMenuOpen && !clickedWithinSearchInput) {
95
+ onToggleAdvancedMenu(event as any);
96
+ }
97
+ };
98
+
99
+ const onEscPress = (event: KeyboardEvent) => {
100
+ if (event.key === 'Escape' && isSearchMenuOpen) {
101
+ onToggleAdvancedMenu(event as any);
102
+ }
103
+ };
104
+
92
105
  document.addEventListener('mousedown', onDocClick);
93
106
  document.addEventListener('touchstart', onDocClick);
94
107
  document.addEventListener('keydown', onEscPress);
@@ -98,28 +111,7 @@ export const AdvancedSearchMenu: React.FunctionComponent<AdvancedSearchMenuProps
98
111
  document.removeEventListener('touchstart', onDocClick);
99
112
  document.removeEventListener('keydown', onEscPress);
100
113
  };
101
- });
102
-
103
- const onDocClick = (event: Event) => {
104
- const clickedWithinSearchInput = parentRef && parentRef.current.contains(event.target as Node);
105
- if (isSearchMenuOpen && !clickedWithinSearchInput) {
106
- onToggleAdvancedMenu(event as any);
107
- }
108
- };
109
-
110
- const onEscPress = (event: KeyboardEvent) => {
111
- if (
112
- isSearchMenuOpen &&
113
- event.key === KeyTypes.Escape &&
114
- parentRef &&
115
- parentRef.current.contains(event.target as Node)
116
- ) {
117
- onToggleAdvancedMenu(event as any);
118
- if (parentInputRef) {
119
- parentInputRef.current.focus();
120
- }
121
- }
122
- };
114
+ }, [isSearchMenuOpen, parentRef, onToggleAdvancedMenu]);
123
115
 
124
116
  const onSearchHandler = (event: React.SyntheticEvent<HTMLButtonElement>) => {
125
117
  event.preventDefault();