@patternfly/react-core 6.3.1-prerelease.2 → 6.3.1-prerelease.21

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 (442) hide show
  1. package/CHANGELOG.md +110 -0
  2. package/components/package.json +1 -1
  3. package/deprecated/package.json +1 -1
  4. package/dist/dynamic/components/AboutModal/package.json +1 -1
  5. package/dist/dynamic/components/Accordion/package.json +1 -1
  6. package/dist/dynamic/components/ActionList/package.json +1 -1
  7. package/dist/dynamic/components/Alert/package.json +1 -1
  8. package/dist/dynamic/components/Avatar/package.json +1 -1
  9. package/dist/dynamic/components/BackToTop/package.json +1 -1
  10. package/dist/dynamic/components/Backdrop/package.json +1 -1
  11. package/dist/dynamic/components/BackgroundImage/package.json +1 -1
  12. package/dist/dynamic/components/Badge/package.json +1 -1
  13. package/dist/dynamic/components/Banner/package.json +1 -1
  14. package/dist/dynamic/components/Brand/package.json +1 -1
  15. package/dist/dynamic/components/Breadcrumb/package.json +1 -1
  16. package/dist/dynamic/components/Button/package.json +1 -1
  17. package/dist/dynamic/components/CalendarMonth/package.json +1 -1
  18. package/dist/dynamic/components/Card/package.json +1 -1
  19. package/dist/dynamic/components/Checkbox/package.json +1 -1
  20. package/dist/dynamic/components/ClipboardCopy/package.json +1 -1
  21. package/dist/dynamic/components/CodeBlock/package.json +1 -1
  22. package/dist/dynamic/components/Content/package.json +1 -1
  23. package/dist/dynamic/components/DataList/package.json +1 -1
  24. package/dist/dynamic/components/DatePicker/package.json +1 -1
  25. package/dist/dynamic/components/DescriptionList/package.json +1 -1
  26. package/dist/dynamic/components/Divider/package.json +1 -1
  27. package/dist/dynamic/components/Drawer/package.json +1 -1
  28. package/dist/dynamic/components/Dropdown/package.json +1 -1
  29. package/dist/dynamic/components/DualListSelector/package.json +1 -1
  30. package/dist/dynamic/components/EmptyState/package.json +1 -1
  31. package/dist/dynamic/components/ExpandableSection/package.json +1 -1
  32. package/dist/dynamic/components/FileUpload/package.json +1 -1
  33. package/dist/dynamic/components/Form/package.json +1 -1
  34. package/dist/dynamic/components/FormSelect/package.json +1 -1
  35. package/dist/dynamic/components/HelperText/package.json +1 -1
  36. package/dist/dynamic/components/Hint/package.json +1 -1
  37. package/dist/dynamic/components/Icon/package.json +1 -1
  38. package/dist/dynamic/components/InputGroup/package.json +1 -1
  39. package/dist/dynamic/components/JumpLinks/package.json +1 -1
  40. package/dist/dynamic/components/Label/package.json +1 -1
  41. package/dist/dynamic/components/List/package.json +1 -1
  42. package/dist/dynamic/components/LoginPage/package.json +1 -1
  43. package/dist/dynamic/components/Masthead/package.json +1 -1
  44. package/dist/dynamic/components/Menu/package.json +1 -1
  45. package/dist/dynamic/components/MenuToggle/package.json +1 -1
  46. package/dist/dynamic/components/Modal/package.json +1 -1
  47. package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
  48. package/dist/dynamic/components/Nav/package.json +1 -1
  49. package/dist/dynamic/components/NotificationBadge/package.json +1 -1
  50. package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
  51. package/dist/dynamic/components/NumberInput/package.json +1 -1
  52. package/dist/dynamic/components/OverflowMenu/package.json +1 -1
  53. package/dist/dynamic/components/Page/package.json +1 -1
  54. package/dist/dynamic/components/Pagination/package.json +1 -1
  55. package/dist/dynamic/components/Panel/package.json +1 -1
  56. package/dist/dynamic/components/Popover/package.json +1 -1
  57. package/dist/dynamic/components/Progress/package.json +1 -1
  58. package/dist/dynamic/components/ProgressStepper/package.json +1 -1
  59. package/dist/dynamic/components/Radio/package.json +1 -1
  60. package/dist/dynamic/components/SearchInput/package.json +1 -1
  61. package/dist/dynamic/components/Select/package.json +1 -1
  62. package/dist/dynamic/components/Sidebar/package.json +1 -1
  63. package/dist/dynamic/components/SimpleList/package.json +1 -1
  64. package/dist/dynamic/components/Skeleton/package.json +1 -1
  65. package/dist/dynamic/components/SkipToContent/package.json +1 -1
  66. package/dist/dynamic/components/Slider/package.json +1 -1
  67. package/dist/dynamic/components/Spinner/package.json +1 -1
  68. package/dist/dynamic/components/Switch/package.json +1 -1
  69. package/dist/dynamic/components/Tabs/package.json +1 -1
  70. package/dist/dynamic/components/TextArea/package.json +1 -1
  71. package/dist/dynamic/components/TextInput/package.json +1 -1
  72. package/dist/dynamic/components/TextInputGroup/package.json +1 -1
  73. package/dist/dynamic/components/TimePicker/package.json +1 -1
  74. package/dist/dynamic/components/Timestamp/package.json +1 -1
  75. package/dist/dynamic/components/Title/package.json +1 -1
  76. package/dist/dynamic/components/ToggleGroup/package.json +1 -1
  77. package/dist/dynamic/components/Toolbar/package.json +1 -1
  78. package/dist/dynamic/components/Tooltip/package.json +1 -1
  79. package/dist/dynamic/components/TreeView/package.json +1 -1
  80. package/dist/dynamic/components/Truncate/package.json +1 -1
  81. package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
  82. package/dist/dynamic/components/Wizard/package.json +1 -1
  83. package/dist/dynamic/deprecated/components/Chip/package.json +1 -1
  84. package/dist/dynamic/deprecated/components/DragDrop/package.json +1 -1
  85. package/dist/dynamic/deprecated/components/DualListSelector/package.json +1 -1
  86. package/dist/dynamic/deprecated/components/Modal/package.json +1 -1
  87. package/dist/dynamic/deprecated/components/Tile/package.json +1 -1
  88. package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
  89. package/dist/dynamic/deprecated/components/package.json +1 -1
  90. package/dist/dynamic/helpers/AnimationsProvider/AnimationsProvider/package.json +1 -0
  91. package/dist/dynamic/helpers/AnimationsProvider/package.json +1 -0
  92. package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
  93. package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
  94. package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
  95. package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
  96. package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
  97. package/dist/dynamic/helpers/constants/package.json +1 -1
  98. package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
  99. package/dist/dynamic/helpers/fileUtils/package.json +1 -1
  100. package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
  101. package/dist/dynamic/helpers/package.json +1 -1
  102. package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
  103. package/dist/dynamic/helpers/typeUtils/package.json +1 -1
  104. package/dist/dynamic/helpers/useInterval/package.json +1 -1
  105. package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
  106. package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
  107. package/dist/dynamic/helpers/util/package.json +1 -1
  108. package/dist/dynamic/layouts/Bullseye/package.json +1 -1
  109. package/dist/dynamic/layouts/Flex/package.json +1 -1
  110. package/dist/dynamic/layouts/Gallery/package.json +1 -1
  111. package/dist/dynamic/layouts/Grid/package.json +1 -1
  112. package/dist/dynamic/layouts/Level/package.json +1 -1
  113. package/dist/dynamic/layouts/Split/package.json +1 -1
  114. package/dist/dynamic/layouts/Stack/package.json +1 -1
  115. package/dist/dynamic/styles/package.json +1 -1
  116. package/dist/dynamic-modules.json +6 -0
  117. package/dist/esm/components/Alert/AlertGroup.d.ts +2 -13
  118. package/dist/esm/components/Alert/AlertGroup.d.ts.map +1 -1
  119. package/dist/esm/components/Alert/AlertGroup.js +33 -38
  120. package/dist/esm/components/Alert/AlertGroup.js.map +1 -1
  121. package/dist/esm/components/Alert/AlertGroupInline.d.ts.map +1 -1
  122. package/dist/esm/components/Alert/AlertGroupInline.js +3 -1
  123. package/dist/esm/components/Alert/AlertGroupInline.js.map +1 -1
  124. package/dist/esm/components/ClipboardCopy/ClipboardCopy.d.ts +2 -0
  125. package/dist/esm/components/ClipboardCopy/ClipboardCopy.d.ts.map +1 -1
  126. package/dist/esm/components/ClipboardCopy/ClipboardCopy.js +3 -3
  127. package/dist/esm/components/ClipboardCopy/ClipboardCopy.js.map +1 -1
  128. package/dist/esm/components/ClipboardCopy/ClipboardCopyButton.d.ts +2 -2
  129. package/dist/esm/components/ClipboardCopy/ClipboardCopyButton.d.ts.map +1 -1
  130. package/dist/esm/components/ClipboardCopy/ClipboardCopyButton.js +2 -2
  131. package/dist/esm/components/ClipboardCopy/ClipboardCopyButton.js.map +1 -1
  132. package/dist/esm/components/ClipboardCopy/ClipboardCopyToggle.d.ts +0 -1
  133. package/dist/esm/components/ClipboardCopy/ClipboardCopyToggle.d.ts.map +1 -1
  134. package/dist/esm/components/ClipboardCopy/ClipboardCopyToggle.js +2 -2
  135. package/dist/esm/components/ClipboardCopy/ClipboardCopyToggle.js.map +1 -1
  136. package/dist/esm/components/DataList/DataListItem.d.ts.map +1 -1
  137. package/dist/esm/components/DataList/DataListItem.js +8 -0
  138. package/dist/esm/components/DataList/DataListItem.js.map +1 -1
  139. package/dist/esm/components/Dropdown/Dropdown.d.ts +6 -20
  140. package/dist/esm/components/Dropdown/Dropdown.d.ts.map +1 -1
  141. package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
  142. package/dist/esm/components/DualListSelector/DualListSelector.d.ts +2 -9
  143. package/dist/esm/components/DualListSelector/DualListSelector.d.ts.map +1 -1
  144. package/dist/esm/components/DualListSelector/DualListSelector.js +6 -16
  145. package/dist/esm/components/DualListSelector/DualListSelector.js.map +1 -1
  146. package/dist/esm/components/DualListSelector/DualListSelectorTreeItem.d.ts.map +1 -1
  147. package/dist/esm/components/DualListSelector/DualListSelectorTreeItem.js +3 -1
  148. package/dist/esm/components/DualListSelector/DualListSelectorTreeItem.js.map +1 -1
  149. package/dist/esm/components/Form/FormFieldGroupExpandable.d.ts.map +1 -1
  150. package/dist/esm/components/Form/FormFieldGroupExpandable.js +3 -1
  151. package/dist/esm/components/Form/FormFieldGroupExpandable.js.map +1 -1
  152. package/dist/esm/components/Form/InternalFormFieldGroup.d.ts.map +1 -1
  153. package/dist/esm/components/Form/InternalFormFieldGroup.js +3 -1
  154. package/dist/esm/components/Form/InternalFormFieldGroup.js.map +1 -1
  155. package/dist/esm/components/JumpLinks/JumpLinks.d.ts +2 -0
  156. package/dist/esm/components/JumpLinks/JumpLinks.d.ts.map +1 -1
  157. package/dist/esm/components/JumpLinks/JumpLinks.js +15 -3
  158. package/dist/esm/components/JumpLinks/JumpLinks.js.map +1 -1
  159. package/dist/esm/components/Menu/Menu.d.ts +2 -1
  160. package/dist/esm/components/Menu/Menu.d.ts.map +1 -1
  161. package/dist/esm/components/Menu/Menu.js +0 -1
  162. package/dist/esm/components/Menu/Menu.js.map +1 -1
  163. package/dist/esm/components/Menu/MenuContainer.d.ts +4 -17
  164. package/dist/esm/components/Menu/MenuContainer.d.ts.map +1 -1
  165. package/dist/esm/components/Menu/MenuContainer.js.map +1 -1
  166. package/dist/esm/components/Menu/MenuGroup.d.ts.map +1 -1
  167. package/dist/esm/components/Menu/MenuGroup.js +3 -2
  168. package/dist/esm/components/Menu/MenuGroup.js.map +1 -1
  169. package/dist/esm/components/Menu/MenuItem.js +3 -2
  170. package/dist/esm/components/Menu/MenuItem.js.map +1 -1
  171. package/dist/esm/components/Menu/MenuItemAction.d.ts.map +1 -1
  172. package/dist/esm/components/Menu/MenuItemAction.js +1 -2
  173. package/dist/esm/components/Menu/MenuItemAction.js.map +1 -1
  174. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatusItem.d.ts +2 -0
  175. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatusItem.d.ts.map +1 -1
  176. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatusItem.js +2 -2
  177. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatusItem.js.map +1 -1
  178. package/dist/esm/components/Progress/Progress.d.ts +2 -0
  179. package/dist/esm/components/Progress/Progress.d.ts.map +1 -1
  180. package/dist/esm/components/Progress/Progress.js +6 -2
  181. package/dist/esm/components/Progress/Progress.js.map +1 -1
  182. package/dist/esm/components/Progress/ProgressBar.d.ts +1 -0
  183. package/dist/esm/components/Progress/ProgressBar.d.ts.map +1 -1
  184. package/dist/esm/components/Progress/ProgressBar.js +1 -1
  185. package/dist/esm/components/Progress/ProgressBar.js.map +1 -1
  186. package/dist/esm/components/Progress/ProgressContainer.js +1 -1
  187. package/dist/esm/components/Progress/ProgressContainer.js.map +1 -1
  188. package/dist/esm/components/SearchInput/SearchInput.d.ts.map +1 -1
  189. package/dist/esm/components/SearchInput/SearchInput.js +3 -1
  190. package/dist/esm/components/SearchInput/SearchInput.js.map +1 -1
  191. package/dist/esm/components/Select/Select.d.ts +6 -26
  192. package/dist/esm/components/Select/Select.d.ts.map +1 -1
  193. package/dist/esm/components/Select/Select.js.map +1 -1
  194. package/dist/esm/components/Tabs/OverflowTab.d.ts +4 -25
  195. package/dist/esm/components/Tabs/OverflowTab.d.ts.map +1 -1
  196. package/dist/esm/components/Tabs/OverflowTab.js.map +1 -1
  197. package/dist/esm/components/Tabs/Tabs.d.ts +2 -2
  198. package/dist/esm/components/Tabs/Tabs.d.ts.map +1 -1
  199. package/dist/esm/components/Tabs/Tabs.js +4 -1
  200. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  201. package/dist/esm/components/Tooltip/Tooltip.d.ts.map +1 -1
  202. package/dist/esm/components/Tooltip/Tooltip.js +68 -3
  203. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  204. package/dist/esm/components/TreeView/TreeView.d.ts.map +1 -1
  205. package/dist/esm/components/TreeView/TreeView.js +3 -1
  206. package/dist/esm/components/TreeView/TreeView.js.map +1 -1
  207. package/dist/esm/components/TreeView/TreeViewListItem.d.ts.map +1 -1
  208. package/dist/esm/components/TreeView/TreeViewListItem.js +3 -1
  209. package/dist/esm/components/TreeView/TreeViewListItem.js.map +1 -1
  210. package/dist/esm/components/Truncate/Truncate.d.ts.map +1 -1
  211. package/dist/esm/components/Truncate/Truncate.js +3 -2
  212. package/dist/esm/components/Truncate/Truncate.js.map +1 -1
  213. package/dist/esm/components/Wizard/WizardNavItem.js +1 -1
  214. package/dist/esm/components/Wizard/WizardNavItem.js.map +1 -1
  215. package/dist/esm/deprecated/components/Wizard/WizardNavItem.js +1 -1
  216. package/dist/esm/deprecated/components/Wizard/WizardNavItem.js.map +1 -1
  217. package/dist/esm/helpers/AnimationsProvider/AnimationsProvider.d.ts +76 -0
  218. package/dist/esm/helpers/AnimationsProvider/AnimationsProvider.d.ts.map +1 -0
  219. package/dist/esm/helpers/AnimationsProvider/AnimationsProvider.js +83 -0
  220. package/dist/esm/helpers/AnimationsProvider/AnimationsProvider.js.map +1 -0
  221. package/dist/esm/helpers/AnimationsProvider/index.d.ts +2 -0
  222. package/dist/esm/helpers/AnimationsProvider/index.d.ts.map +1 -0
  223. package/dist/esm/helpers/AnimationsProvider/index.js +2 -0
  224. package/dist/esm/helpers/AnimationsProvider/index.js.map +1 -0
  225. package/dist/esm/helpers/Popper/Popper.d.ts +28 -21
  226. package/dist/esm/helpers/Popper/Popper.d.ts.map +1 -1
  227. package/dist/esm/helpers/Popper/Popper.js +2 -2
  228. package/dist/esm/helpers/Popper/Popper.js.map +1 -1
  229. package/dist/esm/helpers/index.d.ts +1 -0
  230. package/dist/esm/helpers/index.d.ts.map +1 -1
  231. package/dist/esm/helpers/index.js +1 -0
  232. package/dist/esm/helpers/index.js.map +1 -1
  233. package/dist/js/components/Alert/AlertGroup.d.ts +2 -13
  234. package/dist/js/components/Alert/AlertGroup.d.ts.map +1 -1
  235. package/dist/js/components/Alert/AlertGroup.js +33 -37
  236. package/dist/js/components/Alert/AlertGroup.js.map +1 -1
  237. package/dist/js/components/Alert/AlertGroupInline.d.ts.map +1 -1
  238. package/dist/js/components/Alert/AlertGroupInline.js +3 -1
  239. package/dist/js/components/Alert/AlertGroupInline.js.map +1 -1
  240. package/dist/js/components/ClipboardCopy/ClipboardCopy.d.ts +2 -0
  241. package/dist/js/components/ClipboardCopy/ClipboardCopy.d.ts.map +1 -1
  242. package/dist/js/components/ClipboardCopy/ClipboardCopy.js +3 -3
  243. package/dist/js/components/ClipboardCopy/ClipboardCopy.js.map +1 -1
  244. package/dist/js/components/ClipboardCopy/ClipboardCopyButton.d.ts +2 -2
  245. package/dist/js/components/ClipboardCopy/ClipboardCopyButton.d.ts.map +1 -1
  246. package/dist/js/components/ClipboardCopy/ClipboardCopyButton.js +2 -2
  247. package/dist/js/components/ClipboardCopy/ClipboardCopyButton.js.map +1 -1
  248. package/dist/js/components/ClipboardCopy/ClipboardCopyToggle.d.ts +0 -1
  249. package/dist/js/components/ClipboardCopy/ClipboardCopyToggle.d.ts.map +1 -1
  250. package/dist/js/components/ClipboardCopy/ClipboardCopyToggle.js +2 -2
  251. package/dist/js/components/ClipboardCopy/ClipboardCopyToggle.js.map +1 -1
  252. package/dist/js/components/DataList/DataListItem.d.ts.map +1 -1
  253. package/dist/js/components/DataList/DataListItem.js +8 -0
  254. package/dist/js/components/DataList/DataListItem.js.map +1 -1
  255. package/dist/js/components/Dropdown/Dropdown.d.ts +6 -20
  256. package/dist/js/components/Dropdown/Dropdown.d.ts.map +1 -1
  257. package/dist/js/components/Dropdown/Dropdown.js.map +1 -1
  258. package/dist/js/components/DualListSelector/DualListSelector.d.ts +2 -9
  259. package/dist/js/components/DualListSelector/DualListSelector.d.ts.map +1 -1
  260. package/dist/js/components/DualListSelector/DualListSelector.js +7 -16
  261. package/dist/js/components/DualListSelector/DualListSelector.js.map +1 -1
  262. package/dist/js/components/DualListSelector/DualListSelectorTreeItem.d.ts.map +1 -1
  263. package/dist/js/components/DualListSelector/DualListSelectorTreeItem.js +3 -1
  264. package/dist/js/components/DualListSelector/DualListSelectorTreeItem.js.map +1 -1
  265. package/dist/js/components/Form/FormFieldGroupExpandable.d.ts.map +1 -1
  266. package/dist/js/components/Form/FormFieldGroupExpandable.js +3 -1
  267. package/dist/js/components/Form/FormFieldGroupExpandable.js.map +1 -1
  268. package/dist/js/components/Form/InternalFormFieldGroup.d.ts.map +1 -1
  269. package/dist/js/components/Form/InternalFormFieldGroup.js +3 -1
  270. package/dist/js/components/Form/InternalFormFieldGroup.js.map +1 -1
  271. package/dist/js/components/JumpLinks/JumpLinks.d.ts +2 -0
  272. package/dist/js/components/JumpLinks/JumpLinks.d.ts.map +1 -1
  273. package/dist/js/components/JumpLinks/JumpLinks.js +14 -2
  274. package/dist/js/components/JumpLinks/JumpLinks.js.map +1 -1
  275. package/dist/js/components/Menu/Menu.d.ts +2 -1
  276. package/dist/js/components/Menu/Menu.d.ts.map +1 -1
  277. package/dist/js/components/Menu/Menu.js +0 -1
  278. package/dist/js/components/Menu/Menu.js.map +1 -1
  279. package/dist/js/components/Menu/MenuContainer.d.ts +4 -17
  280. package/dist/js/components/Menu/MenuContainer.d.ts.map +1 -1
  281. package/dist/js/components/Menu/MenuContainer.js.map +1 -1
  282. package/dist/js/components/Menu/MenuGroup.d.ts.map +1 -1
  283. package/dist/js/components/Menu/MenuGroup.js +3 -2
  284. package/dist/js/components/Menu/MenuGroup.js.map +1 -1
  285. package/dist/js/components/Menu/MenuItem.js +3 -2
  286. package/dist/js/components/Menu/MenuItem.js.map +1 -1
  287. package/dist/js/components/Menu/MenuItemAction.d.ts.map +1 -1
  288. package/dist/js/components/Menu/MenuItemAction.js +1 -2
  289. package/dist/js/components/Menu/MenuItemAction.js.map +1 -1
  290. package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatusItem.d.ts +2 -0
  291. package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatusItem.d.ts.map +1 -1
  292. package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatusItem.js +2 -2
  293. package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatusItem.js.map +1 -1
  294. package/dist/js/components/Progress/Progress.d.ts +2 -0
  295. package/dist/js/components/Progress/Progress.d.ts.map +1 -1
  296. package/dist/js/components/Progress/Progress.js +6 -2
  297. package/dist/js/components/Progress/Progress.js.map +1 -1
  298. package/dist/js/components/Progress/ProgressBar.d.ts +1 -0
  299. package/dist/js/components/Progress/ProgressBar.d.ts.map +1 -1
  300. package/dist/js/components/Progress/ProgressBar.js +1 -1
  301. package/dist/js/components/Progress/ProgressBar.js.map +1 -1
  302. package/dist/js/components/Progress/ProgressContainer.js +1 -1
  303. package/dist/js/components/Progress/ProgressContainer.js.map +1 -1
  304. package/dist/js/components/SearchInput/SearchInput.d.ts.map +1 -1
  305. package/dist/js/components/SearchInput/SearchInput.js +3 -1
  306. package/dist/js/components/SearchInput/SearchInput.js.map +1 -1
  307. package/dist/js/components/Select/Select.d.ts +6 -26
  308. package/dist/js/components/Select/Select.d.ts.map +1 -1
  309. package/dist/js/components/Select/Select.js.map +1 -1
  310. package/dist/js/components/Tabs/OverflowTab.d.ts +4 -25
  311. package/dist/js/components/Tabs/OverflowTab.d.ts.map +1 -1
  312. package/dist/js/components/Tabs/OverflowTab.js.map +1 -1
  313. package/dist/js/components/Tabs/Tabs.d.ts +2 -2
  314. package/dist/js/components/Tabs/Tabs.d.ts.map +1 -1
  315. package/dist/js/components/Tabs/Tabs.js +4 -1
  316. package/dist/js/components/Tabs/Tabs.js.map +1 -1
  317. package/dist/js/components/Tooltip/Tooltip.d.ts.map +1 -1
  318. package/dist/js/components/Tooltip/Tooltip.js +68 -3
  319. package/dist/js/components/Tooltip/Tooltip.js.map +1 -1
  320. package/dist/js/components/TreeView/TreeView.d.ts.map +1 -1
  321. package/dist/js/components/TreeView/TreeView.js +3 -1
  322. package/dist/js/components/TreeView/TreeView.js.map +1 -1
  323. package/dist/js/components/TreeView/TreeViewListItem.d.ts.map +1 -1
  324. package/dist/js/components/TreeView/TreeViewListItem.js +3 -1
  325. package/dist/js/components/TreeView/TreeViewListItem.js.map +1 -1
  326. package/dist/js/components/Truncate/Truncate.d.ts.map +1 -1
  327. package/dist/js/components/Truncate/Truncate.js +2 -1
  328. package/dist/js/components/Truncate/Truncate.js.map +1 -1
  329. package/dist/js/components/Wizard/WizardNavItem.js +1 -1
  330. package/dist/js/components/Wizard/WizardNavItem.js.map +1 -1
  331. package/dist/js/deprecated/components/Wizard/WizardNavItem.js +1 -1
  332. package/dist/js/deprecated/components/Wizard/WizardNavItem.js.map +1 -1
  333. package/dist/js/helpers/AnimationsProvider/AnimationsProvider.d.ts +76 -0
  334. package/dist/js/helpers/AnimationsProvider/AnimationsProvider.d.ts.map +1 -0
  335. package/dist/js/helpers/AnimationsProvider/AnimationsProvider.js +89 -0
  336. package/dist/js/helpers/AnimationsProvider/AnimationsProvider.js.map +1 -0
  337. package/dist/js/helpers/AnimationsProvider/index.d.ts +2 -0
  338. package/dist/js/helpers/AnimationsProvider/index.d.ts.map +1 -0
  339. package/dist/js/helpers/AnimationsProvider/index.js +5 -0
  340. package/dist/js/helpers/AnimationsProvider/index.js.map +1 -0
  341. package/dist/js/helpers/Popper/Popper.d.ts +28 -21
  342. package/dist/js/helpers/Popper/Popper.d.ts.map +1 -1
  343. package/dist/js/helpers/Popper/Popper.js +2 -2
  344. package/dist/js/helpers/Popper/Popper.js.map +1 -1
  345. package/dist/js/helpers/index.d.ts +1 -0
  346. package/dist/js/helpers/index.d.ts.map +1 -1
  347. package/dist/js/helpers/index.js +1 -0
  348. package/dist/js/helpers/index.js.map +1 -1
  349. package/dist/styles/base-no-reset.css +1172 -1
  350. package/dist/styles/base.css +1176 -1
  351. package/dist/umd/assets/{output-mLkegqf5.css → output-DXwwe2L-.css} +20464 -20049
  352. package/dist/umd/react-core.min.js +3 -3
  353. package/helpers/package.json +1 -1
  354. package/layouts/package.json +1 -1
  355. package/next/package.json +1 -1
  356. package/package.json +6 -6
  357. package/src/components/Alert/AlertGroup.tsx +59 -63
  358. package/src/components/Alert/AlertGroupInline.tsx +3 -1
  359. package/src/components/Alert/__tests__/AlertGroup.test.tsx +55 -4
  360. package/src/components/ClipboardCopy/ClipboardCopy.tsx +5 -5
  361. package/src/components/ClipboardCopy/ClipboardCopyButton.tsx +2 -4
  362. package/src/components/ClipboardCopy/ClipboardCopyToggle.tsx +0 -3
  363. package/src/components/ClipboardCopy/__tests__/ClipboardCopy.test.tsx +16 -0
  364. package/src/components/ClipboardCopy/__tests__/ClipboardCopyButton.test.tsx +5 -28
  365. package/src/components/ClipboardCopy/__tests__/ClipboardCopyToggle.test.tsx +3 -4
  366. package/src/components/ClipboardCopy/__tests__/__snapshots__/ClipboardCopy.test.tsx.snap +1 -1
  367. package/src/components/ClipboardCopy/__tests__/__snapshots__/ClipboardCopyButton.test.tsx.snap +0 -1
  368. package/src/components/ClipboardCopy/__tests__/__snapshots__/ClipboardCopyToggle.test.tsx.snap +0 -1
  369. package/src/components/ClipboardCopy/examples/ClipboardCopyBasic.tsx +1 -1
  370. package/src/components/ClipboardCopy/examples/ClipboardCopyExpanded.tsx +7 -1
  371. package/src/components/ClipboardCopy/examples/ClipboardCopyExpandedWithArray.tsx +7 -1
  372. package/src/components/ClipboardCopy/examples/ClipboardCopyInlineCompact.tsx +1 -1
  373. package/src/components/ClipboardCopy/examples/ClipboardCopyInlineCompactCode.tsx +7 -1
  374. package/src/components/ClipboardCopy/examples/ClipboardCopyInlineCompactInSentence.tsx +19 -3
  375. package/src/components/ClipboardCopy/examples/ClipboardCopyInlineCompactTruncation.tsx +14 -2
  376. package/src/components/ClipboardCopy/examples/ClipboardCopyInlineCompactWithAdditionalAction.tsx +1 -0
  377. package/src/components/ClipboardCopy/examples/ClipboardCopyJSONObject.tsx +8 -1
  378. package/src/components/ClipboardCopy/examples/ClipboardCopyReadOnly.tsx +1 -1
  379. package/src/components/ClipboardCopy/examples/ClipboardCopyReadOnlyExpanded.tsx +8 -1
  380. package/src/components/ClipboardCopy/examples/ClipboardCopyReadOnlyExpandedByDefault.tsx +9 -1
  381. package/src/components/DataList/DataListItem.tsx +12 -0
  382. package/src/components/Dropdown/Dropdown.tsx +6 -21
  383. package/src/components/Dropdown/examples/Dropdown.md +2 -2
  384. package/src/components/DualListSelector/DualListSelector.tsx +32 -39
  385. package/src/components/DualListSelector/DualListSelectorTreeItem.tsx +3 -1
  386. package/src/components/DualListSelector/__tests__/DualListSelector.test.tsx +28 -0
  387. package/src/components/Form/FormFieldGroupExpandable.tsx +3 -1
  388. package/src/components/Form/InternalFormFieldGroup.tsx +3 -1
  389. package/src/components/Form/__tests__/FormFieldGroupExpandable.test.tsx +30 -0
  390. package/src/components/JumpLinks/JumpLinks.tsx +33 -5
  391. package/src/components/JumpLinks/__tests__/JumpLinks.test.tsx +196 -1
  392. package/src/components/JumpLinks/__tests__/__snapshots__/JumpLinks.test.tsx.snap +9 -9
  393. package/src/components/JumpLinks/examples/JumpLinksBasic.tsx +1 -1
  394. package/src/components/JumpLinks/examples/JumpLinksExpandableVerticalWithSubsection.tsx +2 -2
  395. package/src/components/JumpLinks/examples/JumpLinksVertical.tsx +1 -1
  396. package/src/components/JumpLinks/examples/JumpLinksVerticalWithLabel.tsx +1 -1
  397. package/src/components/JumpLinks/examples/JumpLinksWithCenteredList.tsx +1 -1
  398. package/src/components/JumpLinks/examples/JumpLinksWithLabel.tsx +2 -2
  399. package/src/components/Menu/Menu.tsx +2 -2
  400. package/src/components/Menu/MenuContainer.tsx +4 -17
  401. package/src/components/Menu/MenuGroup.tsx +13 -7
  402. package/src/components/Menu/MenuItem.tsx +2 -2
  403. package/src/components/Menu/MenuItemAction.tsx +3 -2
  404. package/src/components/Menu/__tests__/Menu.test.tsx +39 -1
  405. package/src/components/Menu/examples/Menu.md +3 -3
  406. package/src/components/MultipleFileUpload/MultipleFileUploadStatusItem.tsx +4 -0
  407. package/src/components/MultipleFileUpload/examples/MultipleFileUploadBasic.tsx +5 -4
  408. package/src/components/Progress/Progress.tsx +9 -1
  409. package/src/components/Progress/ProgressBar.tsx +2 -1
  410. package/src/components/Progress/ProgressContainer.tsx +1 -1
  411. package/src/components/Progress/__tests__/Generated/__snapshots__/ProgressBar.test.tsx.snap +1 -0
  412. package/src/components/Progress/__tests__/ProgressBar.test.tsx +19 -0
  413. package/src/components/Progress/examples/Progress.md +67 -23
  414. package/src/components/Progress/examples/ProgressHelperText.tsx +8 -2
  415. package/src/components/SearchInput/SearchInput.tsx +3 -1
  416. package/src/components/SearchInput/__tests__/SearchInput.test.tsx +52 -0
  417. package/src/components/Select/Select.tsx +6 -27
  418. package/src/components/Select/examples/Select.md +1 -1
  419. package/src/components/Tabs/OverflowTab.tsx +4 -26
  420. package/src/components/Tabs/Tabs.tsx +11 -3
  421. package/src/components/Tabs/__tests__/Tabs.test.tsx +60 -0
  422. package/src/components/Tabs/__tests__/__snapshots__/Tabs.test.tsx.snap +14 -14
  423. package/src/components/Tabs/examples/Tabs.md +27 -27
  424. package/src/components/Tooltip/Tooltip.tsx +76 -3
  425. package/src/components/Tooltip/__tests__/Tooltip.test.tsx +126 -0
  426. package/src/components/TreeView/TreeView.tsx +3 -1
  427. package/src/components/TreeView/TreeViewListItem.tsx +3 -1
  428. package/src/components/TreeView/__tests__/TreeView.test.tsx +28 -0
  429. package/src/components/TreeView/__tests__/__snapshots__/TreeView.test.tsx.snap +1 -1
  430. package/src/components/Truncate/Truncate.tsx +3 -1
  431. package/src/components/Truncate/examples/TruncateExamples.css +2 -2
  432. package/src/components/Wizard/WizardNavItem.tsx +1 -1
  433. package/src/demos/DataList/examples/DataListBasic.tsx +74 -19
  434. package/src/demos/DataList/examples/DataListStaticBottomPagination.tsx +16 -3
  435. package/src/demos/DataListDemo.md +5 -2
  436. package/src/demos/examples/PrimaryDetail/PrimaryDetailCardView.tsx +1 -1
  437. package/src/deprecated/components/Wizard/WizardNavItem.tsx +1 -1
  438. package/src/helpers/AnimationsProvider/AnimationsProvider.tsx +104 -0
  439. package/src/helpers/AnimationsProvider/__tests__/AnimationsProvider.test.tsx +157 -0
  440. package/src/helpers/AnimationsProvider/index.ts +1 -0
  441. package/src/helpers/Popper/Popper.tsx +31 -22
  442. package/src/helpers/index.ts +1 -0
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-helpers","main":"../dist/js/helpers/index.js","module":"../dist/esm/helpers/index.js","typings":"../dist/esm/helpers/index.d.ts","version":"6.3.1-prerelease.1","private":true}
1
+ {"name":"@patternfly/react-core-helpers","main":"../dist/js/helpers/index.js","module":"../dist/esm/helpers/index.js","typings":"../dist/esm/helpers/index.d.ts","version":"6.3.1-prerelease.20","private":true}
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-layouts","main":"../dist/js/layouts/index.js","module":"../dist/esm/layouts/index.js","typings":"../dist/esm/layouts/index.d.ts","version":"6.3.1-prerelease.1","private":true}
1
+ {"name":"@patternfly/react-core-layouts","main":"../dist/js/layouts/index.js","module":"../dist/esm/layouts/index.js","typings":"../dist/esm/layouts/index.d.ts","version":"6.3.1-prerelease.20","private":true}
package/next/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-next","main":"../dist/js/next/index.js","module":"../dist/esm/next/index.js","typings":"../dist/esm/next/index.d.ts","version":"6.3.1-prerelease.1","private":true}
1
+ {"name":"@patternfly/react-core-next","main":"../dist/js/next/index.js","module":"../dist/esm/next/index.js","typings":"../dist/esm/next/index.d.ts","version":"6.3.1-prerelease.20","private":true}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@patternfly/react-core",
3
- "version": "6.3.1-prerelease.2",
3
+ "version": "6.3.1-prerelease.21",
4
4
  "description": "This library provides a set of common React components for use with the PatternFly reference implementation.",
5
5
  "main": "dist/js/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -46,15 +46,15 @@
46
46
  "subpaths": "node ../../scripts/exportSubpaths.mjs --config subpaths.config.json"
47
47
  },
48
48
  "dependencies": {
49
- "@patternfly/react-icons": "^6.3.0",
50
- "@patternfly/react-styles": "^6.3.0",
51
- "@patternfly/react-tokens": "^6.3.0",
49
+ "@patternfly/react-icons": "^6.3.1-prerelease.1",
50
+ "@patternfly/react-styles": "^6.3.1-prerelease.1",
51
+ "@patternfly/react-tokens": "^6.3.1-prerelease.1",
52
52
  "focus-trap": "7.6.4",
53
53
  "react-dropzone": "^14.3.5",
54
54
  "tslib": "^2.8.1"
55
55
  },
56
56
  "devDependencies": {
57
- "@patternfly/patternfly": "6.3.0-prerelease.41",
57
+ "@patternfly/patternfly": "6.3.0-prerelease.78",
58
58
  "case-anything": "^3.1.2",
59
59
  "css": "^3.0.0",
60
60
  "fs-extra": "^11.3.0"
@@ -63,5 +63,5 @@
63
63
  "react": "^17 || ^18 || ^19",
64
64
  "react-dom": "^17 || ^18 || ^19"
65
65
  },
66
- "gitHead": "8d65eb8ad40d4d01963d6c3280f48fe3cd709056"
66
+ "gitHead": "44e1ab571a25f370f1b3a2c999e5b5a030fe44f1"
67
67
  }
@@ -1,7 +1,8 @@
1
- import { Component } from 'react';
1
+ import { useEffect, useRef, useState } from 'react';
2
2
  import * as ReactDOM from 'react-dom';
3
3
  import { canUseDOM } from '../../helpers';
4
4
  import { AlertGroupInline } from './AlertGroupInline';
5
+ import { useHasAnimations } from '../../helpers';
5
6
 
6
7
  export interface AlertGroupProps extends Omit<React.HTMLProps<HTMLUListElement>, 'className'> {
7
8
  /** Additional classes added to the AlertGroup */
@@ -26,78 +27,73 @@ export interface AlertGroupProps extends Omit<React.HTMLProps<HTMLUListElement>,
26
27
  'aria-label'?: string;
27
28
  }
28
29
 
29
- interface AlertGroupState {
30
- container: HTMLElement;
31
- }
32
-
33
- class AlertGroup extends Component<AlertGroupProps, AlertGroupState> {
34
- static displayName = 'AlertGroup';
35
- state = {
36
- container: undefined
37
- } as AlertGroupState;
38
-
39
- componentDidMount() {
40
- const container = document.createElement('div');
41
- const target: HTMLElement = this.getTargetElement();
42
- this.setState({ container });
43
- target.appendChild(container);
44
- }
30
+ export const AlertGroup: React.FunctionComponent<AlertGroupProps> = ({
31
+ className,
32
+ children,
33
+ hasAnimations: hasAnimationsProp,
34
+ isToast,
35
+ isLiveRegion,
36
+ onOverflowClick,
37
+ overflowMessage,
38
+ 'aria-label': ariaLabel,
45
39
 
46
- componentWillUnmount() {
47
- const target: HTMLElement = this.getTargetElement();
48
- if (this.state.container) {
49
- target.removeChild(this.state.container);
50
- }
51
- }
40
+ appendTo,
41
+ ...props
42
+ }: AlertGroupProps) => {
43
+ const containerRef = useRef<HTMLElement | null>(null);
44
+ const [isContainerReady, setIsContainerReady] = useState(false);
45
+ const hasAnimations = useHasAnimations(hasAnimationsProp);
52
46
 
53
- getTargetElement() {
54
- const appendTo = this.props.appendTo;
47
+ const getTargetElement = () => {
55
48
  if (typeof appendTo === 'function') {
56
49
  return appendTo();
57
50
  }
58
51
  return appendTo || document.body;
59
- }
52
+ };
53
+
54
+ useEffect(() => {
55
+ if (isToast && canUseDOM) {
56
+ const container = document.createElement('div');
57
+ const target = getTargetElement();
58
+ containerRef.current = container;
59
+ target.appendChild(container);
60
+ setIsContainerReady(true);
60
61
 
61
- render() {
62
- const {
63
- className,
64
- children,
65
- hasAnimations = false,
66
- isToast,
67
- isLiveRegion,
68
- onOverflowClick,
69
- overflowMessage,
70
- 'aria-label': ariaLabel,
71
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
72
- appendTo, // do not pass down to ul
73
- ...props
74
- } = this.props;
75
- const alertGroup = (
76
- <AlertGroupInline
77
- onOverflowClick={onOverflowClick}
78
- className={className}
79
- isToast={isToast}
80
- isLiveRegion={isLiveRegion}
81
- overflowMessage={overflowMessage}
82
- aria-label={ariaLabel}
83
- hasAnimations={hasAnimations}
84
- {...props}
85
- >
86
- {children}
87
- </AlertGroupInline>
88
- );
89
- if (!this.props.isToast) {
90
- return alertGroup;
62
+ return () => {
63
+ if (containerRef.current) {
64
+ target.removeChild(containerRef.current);
65
+ containerRef.current = null;
66
+ }
67
+ setIsContainerReady(false);
68
+ };
91
69
  }
70
+ }, [isToast, appendTo]);
92
71
 
93
- const container = this.state.container;
72
+ const alertGroup = (
73
+ <AlertGroupInline
74
+ onOverflowClick={onOverflowClick}
75
+ className={className}
76
+ isToast={isToast}
77
+ isLiveRegion={isLiveRegion}
78
+ overflowMessage={overflowMessage}
79
+ aria-label={ariaLabel}
80
+ hasAnimations={hasAnimations}
81
+ {...props}
82
+ >
83
+ {children}
84
+ </AlertGroupInline>
85
+ );
94
86
 
95
- if (!canUseDOM || !container) {
96
- return null;
97
- }
87
+ if (!isToast) {
88
+ return alertGroup;
89
+ }
90
+
91
+ const container = containerRef.current;
98
92
 
99
- return ReactDOM.createPortal(alertGroup, container);
93
+ if (!canUseDOM || !container || !isContainerReady) {
94
+ return null;
100
95
  }
101
- }
102
96
 
103
- export { AlertGroup };
97
+ return ReactDOM.createPortal(alertGroup, container);
98
+ };
99
+ AlertGroup.displayName = 'AlertGroup';
@@ -4,17 +4,19 @@ import styles from '@patternfly/react-styles/css/components/Alert/alert-group';
4
4
  import { AlertGroupProps } from './AlertGroup';
5
5
  import { AlertProps } from '../Alert';
6
6
  import { AlertGroupContext } from './AlertGroupContext';
7
+ import { useHasAnimations } from '../../helpers';
7
8
 
8
9
  export const AlertGroupInline: React.FunctionComponent<AlertGroupProps> = ({
9
10
  className,
10
11
  children,
11
- hasAnimations,
12
+ hasAnimations: hasAnimationsProp,
12
13
  isToast,
13
14
  isLiveRegion,
14
15
  onOverflowClick,
15
16
  overflowMessage,
16
17
  ...props
17
18
  }: AlertGroupProps) => {
19
+ const hasAnimations = useHasAnimations(hasAnimationsProp);
18
20
  const [handleTransitionEnd, setHandleTransitionEnd] = useState<() => void>(() => () => {});
19
21
 
20
22
  const updateTransitionEnd = (onTransitionEnd: () => void) => {
@@ -4,6 +4,7 @@ import userEvent from '@testing-library/user-event';
4
4
  import { Alert } from '../../Alert';
5
5
  import { AlertGroup } from '../../Alert';
6
6
  import { AlertActionCloseButton } from '../../../components/Alert/AlertActionCloseButton';
7
+ import { AnimationsProvider } from '../../../helpers/AnimationsProvider';
7
8
 
8
9
  test('Alert Group renders without children', () => {
9
10
  render(
@@ -56,14 +57,16 @@ test('Standard Alert Group is not a toast alert group', () => {
56
57
  expect(screen.getByText('alert title').parentElement).not.toHaveClass('pf-m-toast');
57
58
  });
58
59
 
59
- test('Toast Alert Group contains expected modifier class', () => {
60
+ test('Toast Alert Group contains expected modifier class', async () => {
60
61
  render(
61
62
  <AlertGroup isToast aria-label="group label">
62
63
  <Alert variant="warning" title="alert title" />
63
64
  </AlertGroup>
64
65
  );
65
66
 
66
- expect(screen.getByLabelText('group label')).toHaveClass('pf-m-toast');
67
+ // Wait for the portal to be created and rendered
68
+ const alertGroup = await screen.findByLabelText('group label');
69
+ expect(alertGroup).toHaveClass('pf-m-toast');
67
70
  });
68
71
 
69
72
  test('Calls the callback set by updateTransitionEnd when transition ends and animations are enabled', async () => {
@@ -90,8 +93,11 @@ test('Calls the callback set by updateTransitionEnd when transition ends and ani
90
93
  </AlertGroup>
91
94
  );
92
95
 
93
- await user.click(screen.getByLabelText('Close'));
96
+ const closeButton = await screen.findByLabelText('Close');
97
+ await user.click(closeButton);
94
98
  expect(mockCallback).not.toHaveBeenCalled();
99
+ // fireEvent is needed here because transitionEnd is a browser event that occurs automatically
100
+ // when CSS transitions complete, not a user interaction that userEvent can simulate
95
101
  fireEvent.transitionEnd(screen.getByText('Test Alert').closest('.pf-v6-c-alert-group__item') as HTMLElement);
96
102
  expect(mockCallback).toHaveBeenCalled();
97
103
  });
@@ -120,9 +126,54 @@ test('Does not call the callback set by updateTransitionEnd when transition ends
120
126
  </AlertGroup>
121
127
  );
122
128
 
123
- await user.click(screen.getByLabelText('Close'));
129
+ const closeButton = await screen.findByLabelText('Close');
130
+ await user.click(closeButton);
124
131
  expect(mockCallback).toHaveBeenCalledTimes(1);
125
132
  // The transitionend event firing should not cause the callback to be called again
133
+ // fireEvent is needed here because transitionEnd is a browser event that occurs automatically
134
+ // when CSS transitions complete, not a user interaction that userEvent can simulate
126
135
  fireEvent.transitionEnd(screen.getByText('Test Alert').closest('.pf-v6-c-alert-group__item') as HTMLElement);
127
136
  expect(mockCallback).toHaveBeenCalledTimes(1);
128
137
  });
138
+
139
+ describe('Animation context behavior', () => {
140
+ test('respects AnimationsProvider context when no local hasAnimations prop', () => {
141
+ render(
142
+ <AnimationsProvider config={{ hasAnimations: true }}>
143
+ <AlertGroup>
144
+ <Alert title="Test Alert" />
145
+ </AlertGroup>
146
+ </AnimationsProvider>
147
+ );
148
+
149
+ // Should apply animation class when animations are enabled via context
150
+ const alertGroupItem = screen.getByText('Test Alert').closest('.pf-v6-c-alert-group__item');
151
+ expect(alertGroupItem).toHaveClass('pf-m-offstage-top');
152
+ });
153
+
154
+ test('local hasAnimations prop takes precedence over context', () => {
155
+ render(
156
+ <AnimationsProvider config={{ hasAnimations: true }}>
157
+ <AlertGroup hasAnimations={false}>
158
+ <Alert title="Test Alert" />
159
+ </AlertGroup>
160
+ </AnimationsProvider>
161
+ );
162
+
163
+ // Should not apply animation class when local hasAnimations=false overrides context
164
+ const alertGroupItem = screen.getByText('Test Alert').closest('.pf-v6-c-alert-group__item');
165
+ expect(alertGroupItem).not.toHaveClass('pf-m-offstage-top');
166
+ });
167
+
168
+ test('works without AnimationsProvider (backward compatibility)', () => {
169
+ render(
170
+ <AlertGroup>
171
+ <Alert title="Test Alert" />
172
+ </AlertGroup>
173
+ );
174
+
175
+ // Should not apply animation class when no context and no local hasAnimations
176
+ const alertGroupItem = screen.getByText('Test Alert').closest('.pf-v6-c-alert-group__item');
177
+ expect(alertGroupItem).not.toHaveClass('pf-m-offstage-top');
178
+ });
179
+ });
@@ -49,6 +49,8 @@ export interface ClipboardCopyProps extends Omit<React.HTMLProps<HTMLDivElement>
49
49
  hoverTip?: string;
50
50
  /** Tooltip message to display when clicking the copy button */
51
51
  clickTip?: string;
52
+ /** Aria-label to use on the copy button */
53
+ copyAriaLabel?: string;
52
54
  /** Aria-label to use on the TextInput. */
53
55
  textAriaLabel?: string;
54
56
  /** Aria-label to use on the ClipboardCopyToggle. */
@@ -194,6 +196,7 @@ class ClipboardCopy extends Component<ClipboardCopyProps, ClipboardCopyState> {
194
196
  truncation,
195
197
  ouiaId,
196
198
  ouiaSafe,
199
+ copyAriaLabel,
197
200
  ...divProps
198
201
  } = this.props;
199
202
  const textIdPrefix = 'text-input-';
@@ -250,8 +253,7 @@ class ClipboardCopy extends Component<ClipboardCopyProps, ClipboardCopyState> {
250
253
  maxWidth={maxWidth}
251
254
  position={position}
252
255
  id={`copy-button-${id}`}
253
- textId={`text-input-${id}`}
254
- aria-label={hoverTip}
256
+ aria-label={copyAriaLabel ?? hoverTip}
255
257
  onClick={(event: any) => {
256
258
  onCopy(event, copyableText);
257
259
  this.setState({ copied: true });
@@ -285,7 +287,6 @@ class ClipboardCopy extends Component<ClipboardCopyProps, ClipboardCopyState> {
285
287
  }
286
288
  }}
287
289
  id={`${toggleIdPrefix}${id}`}
288
- textId={`${textIdPrefix}${id}`}
289
290
  contentId={`${contentIdPrefix}${id}`}
290
291
  aria-label={toggleAriaLabel}
291
292
  />
@@ -304,8 +305,7 @@ class ClipboardCopy extends Component<ClipboardCopyProps, ClipboardCopyState> {
304
305
  maxWidth={maxWidth}
305
306
  position={position}
306
307
  id={`copy-button-${id}`}
307
- textId={`text-input-${id}`}
308
- aria-label={hoverTip}
308
+ aria-label={copyAriaLabel ?? hoverTip}
309
309
  onClick={(event: any) => {
310
310
  onCopy(event, this.state.expanded ? this.state.textWhenExpanded : copyableText);
311
311
  this.setState({ copied: true });
@@ -11,8 +11,8 @@ export interface ClipboardCopyButtonProps
11
11
  children: React.ReactNode;
12
12
  /** ID of the copy button */
13
13
  id: string;
14
- /** ID of the content that is being copied */
15
- textId: string;
14
+ /** @deprecated ID of the content that is being copied */
15
+ textId?: string;
16
16
  /** Additional classes added to the copy button */
17
17
  className?: string;
18
18
  /** Exit delay on the copy button tooltip */
@@ -55,7 +55,6 @@ export const ClipboardCopyButton: React.FunctionComponent<ClipboardCopyButtonPro
55
55
  position = 'top',
56
56
  'aria-label': ariaLabel = 'Copyable input',
57
57
  id,
58
- textId,
59
58
  children,
60
59
  variant = 'control',
61
60
  onTooltipHidden = () => {},
@@ -86,7 +85,6 @@ export const ClipboardCopyButton: React.FunctionComponent<ClipboardCopyButtonPro
86
85
  aria-label={ariaLabel}
87
86
  className={className}
88
87
  id={id}
89
- aria-labelledby={`${id} ${textId}`}
90
88
  icon={<CopyIcon />}
91
89
  {...props}
92
90
  ref={triggerRef}
@@ -7,7 +7,6 @@ export interface ClipboardCopyToggleProps
7
7
  extends Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, 'ref'> {
8
8
  onClick: (event: React.MouseEvent) => void;
9
9
  id: string;
10
- textId: string;
11
10
  contentId: string;
12
11
  isExpanded?: boolean;
13
12
  className?: string;
@@ -16,7 +15,6 @@ export interface ClipboardCopyToggleProps
16
15
  export const ClipboardCopyToggle: React.FunctionComponent<ClipboardCopyToggleProps> = ({
17
16
  onClick,
18
17
  id,
19
- textId,
20
18
  contentId,
21
19
  isExpanded = false,
22
20
  ...props
@@ -26,7 +24,6 @@ export const ClipboardCopyToggle: React.FunctionComponent<ClipboardCopyTogglePro
26
24
  variant="control"
27
25
  onClick={onClick}
28
26
  id={id}
29
- aria-labelledby={`${id} ${textId}`}
30
27
  aria-controls={isExpanded ? contentId : undefined}
31
28
  aria-expanded={isExpanded}
32
29
  {...props}
@@ -265,6 +265,22 @@ test('Passes position to ClipboardCopyButton when variant is inline-compact', ()
265
265
  expect(screen.getByText('position: bottom')).toBeVisible();
266
266
  });
267
267
 
268
+ test('Passes copyAriaLabel to ClipboardCopyButton', () => {
269
+ render(<ClipboardCopy copyAriaLabel="Copy text">{children}</ClipboardCopy>);
270
+
271
+ expect(screen.getByText('button-ariaLabel: Copy text')).toBeVisible();
272
+ });
273
+
274
+ test('Passes copyAriaLabel over hoverTip to ClipboardCopyButton when both are provided', () => {
275
+ render(
276
+ <ClipboardCopy copyAriaLabel="Copy text" hoverTip="Hover tip">
277
+ {children}
278
+ </ClipboardCopy>
279
+ );
280
+
281
+ expect(screen.getByText('button-ariaLabel: Copy text')).toBeVisible();
282
+ });
283
+
268
284
  test('Passes toggleAriaLabel to ClipboardCopyToggle when variant is expansion', () => {
269
285
  render(
270
286
  <ClipboardCopy variant="expansion" toggleAriaLabel="toggle label">
@@ -21,8 +21,7 @@ jest.mock('../../Tooltip', () => ({
21
21
  const requiredProps = {
22
22
  onClick: jest.fn(),
23
23
  children: 'Button content',
24
- id: 'button-id',
25
- textId: 'text-id'
24
+ id: 'button-id'
26
25
  };
27
26
 
28
27
  // Must be kept as first test to avoid Button's ouiaId updating in snapshots
@@ -37,37 +36,15 @@ test('Renders with passed id prop', () => {
37
36
  expect(screen.getByRole('button')).toHaveAttribute('id', 'button-id');
38
37
  });
39
38
 
40
- test('Renders with aria-labelledby with passed id and textId prop values', () => {
39
+ test('Renders with aria-label', () => {
41
40
  render(
42
41
  <>
43
- <div id="text-id">Copyable text</div>
44
- <ClipboardCopyButton {...requiredProps} />
45
- </>
46
- );
47
-
48
- expect(screen.getByRole('button')).toHaveAccessibleName('Copyable input Copyable text');
49
- });
50
-
51
- test('Renders with concatenated aria-label by default', () => {
52
- render(
53
- <>
54
- <div id="text-id">Copyable text</div>
55
- <ClipboardCopyButton {...requiredProps} />
56
- </>
57
- );
58
-
59
- expect(screen.getByRole('button')).toHaveAccessibleName('Copyable input Copyable text');
60
- });
61
-
62
- test('Renders with concatenated aria-label when custom aria-label is passed', () => {
63
- render(
64
- <>
65
- <div id="text-id">Copyable text</div>
66
- <ClipboardCopyButton aria-label="Custom label" {...requiredProps} />
42
+ <div>Copyable text</div>
43
+ <ClipboardCopyButton aria-label="Copy" {...requiredProps} />
67
44
  </>
68
45
  );
69
46
 
70
- expect(screen.getByRole('button')).toHaveAccessibleName('Custom label Copyable text');
47
+ expect(screen.getByRole('button')).toHaveAccessibleName('Copy');
71
48
  });
72
49
 
73
50
  test('Passes className to Button', () => {
@@ -5,7 +5,6 @@ import userEvent from '@testing-library/user-event';
5
5
  const onClickMock = jest.fn();
6
6
  const requiredProps = {
7
7
  id: 'main-id',
8
- textId: 'text-id',
9
8
  contentId: 'content-id',
10
9
  onClick: onClickMock
11
10
  };
@@ -33,15 +32,15 @@ test('Renders with id prop', () => {
33
32
  expect(screen.getByRole('button')).toHaveAttribute('id', requiredProps.id);
34
33
  });
35
34
 
36
- test('Renders with aria-labelledby concatenated from id and textId props', () => {
35
+ test('Renders with aria-label', () => {
37
36
  render(
38
37
  <>
39
38
  <ClipboardCopyToggle aria-label="Toggle content" {...requiredProps} />
40
- <span id={requiredProps.textId}>Test content</span>
39
+ <span>Test content</span>
41
40
  </>
42
41
  );
43
42
 
44
- expect(screen.getByRole('button')).toHaveAccessibleName('Toggle content Test content');
43
+ expect(screen.getByRole('button')).toHaveAccessibleName('Toggle content');
45
44
  });
46
45
 
47
46
  test('Does not render with aria-controls when isExpanded is false', () => {
@@ -18,7 +18,7 @@ exports[`Matches snapshot 1`] = `
18
18
  <input
19
19
  aria-invalid="false"
20
20
  aria-label="Copyable input"
21
- data-ouia-component-id="OUIA-Generated-TextInputBase-34"
21
+ data-ouia-component-id="OUIA-Generated-TextInputBase-36"
22
22
  data-ouia-component-type="PF6/TextInput"
23
23
  data-ouia-safe="true"
24
24
  id="text-input-generated-id"
@@ -29,7 +29,6 @@ exports[`Matches snapshot 1`] = `
29
29
  </a>
30
30
  <button
31
31
  aria-label="Copyable input"
32
- aria-labelledby="button-id text-id"
33
32
  class="pf-v6-c-button pf-m-control"
34
33
  data-ouia-component-id="OUIA-Generated-Button-control-1"
35
34
  data-ouia-component-type="PF6/Button"
@@ -4,7 +4,6 @@ exports[`Matches snapshot 1`] = `
4
4
  <DocumentFragment>
5
5
  <button
6
6
  aria-expanded="false"
7
- aria-labelledby="main-id text-id"
8
7
  class="pf-v6-c-button pf-m-control"
9
8
  data-ouia-component-id="OUIA-Generated-Button-control-1"
10
9
  data-ouia-component-type="PF6/Button"
@@ -1,7 +1,7 @@
1
1
  import { ClipboardCopy } from '@patternfly/react-core';
2
2
 
3
3
  export const ClipboardCopyBasic: React.FunctionComponent = () => (
4
- <ClipboardCopy hoverTip="Copy" clickTip="Copied">
4
+ <ClipboardCopy copyAriaLabel="Copy basic example" hoverTip="Copy" clickTip="Copied">
5
5
  This is editable
6
6
  </ClipboardCopy>
7
7
  );
@@ -1,7 +1,13 @@
1
1
  import { ClipboardCopy, ClipboardCopyVariant } from '@patternfly/react-core';
2
2
 
3
3
  export const ClipboardCopyExpanded: React.FunctionComponent = () => (
4
- <ClipboardCopy hoverTip="Copy" clickTip="Copied" variant={ClipboardCopyVariant.expansion}>
4
+ <ClipboardCopy
5
+ toggleAriaLabel="Show content for expanded example"
6
+ copyAriaLabel="Copy expanded example"
7
+ hoverTip="Copy"
8
+ clickTip="Copied"
9
+ variant={ClipboardCopyVariant.expansion}
10
+ >
5
11
  Got a lot of text here, need to see all of it? Click that arrow on the left side and check out the resulting
6
12
  expansion.
7
13
  </ClipboardCopy>
@@ -7,7 +7,13 @@ const text = [
7
7
  ];
8
8
 
9
9
  export const ClipboardCopyExpandedWithArray: React.FunctionComponent = () => (
10
- <ClipboardCopy hoverTip="Copy" clickTip="Copied" variant={ClipboardCopyVariant.expansion}>
10
+ <ClipboardCopy
11
+ copyAriaLabel="Copy expanded example with array"
12
+ toggleAriaLabel="Show content for expanded example with array"
13
+ hoverTip="Copy"
14
+ clickTip="Copied"
15
+ variant={ClipboardCopyVariant.expansion}
16
+ >
11
17
  {text.join(' ')}
12
18
  </ClipboardCopy>
13
19
  );
@@ -1,6 +1,6 @@
1
1
  import { ClipboardCopy } from '@patternfly/react-core';
2
2
  export const ClipboardCopyInlineCompact: React.FunctionComponent = () => (
3
- <ClipboardCopy hoverTip="Copy" clickTip="Copied" variant="inline-compact">
3
+ <ClipboardCopy copyAriaLabel="Copy inline compact example" hoverTip="Copy" clickTip="Copied" variant="inline-compact">
4
4
  2.3.4-2-redhat
5
5
  </ClipboardCopy>
6
6
  );
@@ -1,7 +1,13 @@
1
1
  import { ClipboardCopy } from '@patternfly/react-core';
2
2
 
3
3
  export const ClipboardCopyInlineCompactCode: React.FunctionComponent = () => (
4
- <ClipboardCopy hoverTip="Copy" clickTip="Copied" variant="inline-compact" isCode>
4
+ <ClipboardCopy
5
+ copyAriaLabel="Copy inline compact code example"
6
+ hoverTip="Copy"
7
+ clickTip="Copied"
8
+ variant="inline-compact"
9
+ isCode
10
+ >
5
11
  2.3.4-2-redhat
6
12
  </ClipboardCopy>
7
13
  );
@@ -7,7 +7,12 @@ export const ClipboardCopyInlineCompactInSentence: React.FunctionComponent = ()
7
7
  <br />
8
8
  Lorem ipsum{' '}
9
9
  {
10
- <ClipboardCopy hoverTip="Copy" clickTip="Copied" variant="inline-compact">
10
+ <ClipboardCopy
11
+ copyAriaLabel="Copy inline compact basic example"
12
+ hoverTip="Copy"
13
+ clickTip="Copied"
14
+ variant="inline-compact"
15
+ >
11
16
  2.3.4-2-redhat
12
17
  </ClipboardCopy>
13
18
  }
@@ -17,7 +22,12 @@ export const ClipboardCopyInlineCompactInSentence: React.FunctionComponent = ()
17
22
  <br />
18
23
  Lorem ipsum dolor sit amet, consectetur adipiscing elit.{' '}
19
24
  {
20
- <ClipboardCopy hoverTip="Copy" clickTip="Copied" variant="inline-compact">
25
+ <ClipboardCopy
26
+ copyAriaLabel="Copy inline compact long copy string example"
27
+ hoverTip="Copy"
28
+ clickTip="Copied"
29
+ variant="inline-compact"
30
+ >
21
31
  https://app.openshift.io/path/sub-path/sub-sub-path/?runtime=quarkus/12345678901234567890/abcdefghijklmnopqrstuvwxyz1234567890
22
32
  </ClipboardCopy>
23
33
  }{' '}
@@ -27,7 +37,13 @@ export const ClipboardCopyInlineCompactInSentence: React.FunctionComponent = ()
27
37
  <br />
28
38
  Lorem ipsum dolor sit amet, consectetur adipiscing elit.{' '}
29
39
  {
30
- <ClipboardCopy hoverTip="Copy" clickTip="Copied" variant="inline-compact" isBlock>
40
+ <ClipboardCopy
41
+ copyAriaLabel="Copy inline compact long copy string in block example"
42
+ hoverTip="Copy"
43
+ clickTip="Copied"
44
+ variant="inline-compact"
45
+ isBlock
46
+ >
31
47
  https://app.openshift.io/path/sub-path/sub-sub-path/?runtime=quarkus/12345678901234567890/abcdefghijklmnopqrstuvwxyz1234567890
32
48
  </ClipboardCopy>
33
49
  }{' '}