@patternfly/react-core 6.5.0-prerelease.39 → 6.5.0-prerelease.40

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 (564) hide show
  1. package/CHANGELOG.md +4 -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/Compass/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/Hero/package.json +1 -1
  38. package/dist/dynamic/components/Hint/package.json +1 -1
  39. package/dist/dynamic/components/Icon/package.json +1 -1
  40. package/dist/dynamic/components/InputGroup/package.json +1 -1
  41. package/dist/dynamic/components/JumpLinks/package.json +1 -1
  42. package/dist/dynamic/components/Label/package.json +1 -1
  43. package/dist/dynamic/components/List/package.json +1 -1
  44. package/dist/dynamic/components/LoginPage/package.json +1 -1
  45. package/dist/dynamic/components/Masthead/package.json +1 -1
  46. package/dist/dynamic/components/Menu/package.json +1 -1
  47. package/dist/dynamic/components/MenuToggle/package.json +1 -1
  48. package/dist/dynamic/components/Modal/package.json +1 -1
  49. package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
  50. package/dist/dynamic/components/Nav/package.json +1 -1
  51. package/dist/dynamic/components/NotificationBadge/package.json +1 -1
  52. package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
  53. package/dist/dynamic/components/NumberInput/package.json +1 -1
  54. package/dist/dynamic/components/OverflowMenu/package.json +1 -1
  55. package/dist/dynamic/components/Page/package.json +1 -1
  56. package/dist/dynamic/components/Pagination/package.json +1 -1
  57. package/dist/dynamic/components/Panel/package.json +1 -1
  58. package/dist/dynamic/components/Popover/package.json +1 -1
  59. package/dist/dynamic/components/Progress/package.json +1 -1
  60. package/dist/dynamic/components/ProgressStepper/package.json +1 -1
  61. package/dist/dynamic/components/Radio/package.json +1 -1
  62. package/dist/dynamic/components/SearchInput/package.json +1 -1
  63. package/dist/dynamic/components/Select/package.json +1 -1
  64. package/dist/dynamic/components/Sidebar/package.json +1 -1
  65. package/dist/dynamic/components/SimpleList/package.json +1 -1
  66. package/dist/dynamic/components/Skeleton/package.json +1 -1
  67. package/dist/dynamic/components/SkipToContent/package.json +1 -1
  68. package/dist/dynamic/components/Slider/package.json +1 -1
  69. package/dist/dynamic/components/Spinner/package.json +1 -1
  70. package/dist/dynamic/components/Switch/package.json +1 -1
  71. package/dist/dynamic/components/Tabs/package.json +1 -1
  72. package/dist/dynamic/components/TextArea/package.json +1 -1
  73. package/dist/dynamic/components/TextInput/package.json +1 -1
  74. package/dist/dynamic/components/TextInputGroup/package.json +1 -1
  75. package/dist/dynamic/components/TimePicker/package.json +1 -1
  76. package/dist/dynamic/components/Timestamp/package.json +1 -1
  77. package/dist/dynamic/components/Title/package.json +1 -1
  78. package/dist/dynamic/components/ToggleGroup/package.json +1 -1
  79. package/dist/dynamic/components/Toolbar/package.json +1 -1
  80. package/dist/dynamic/components/Tooltip/package.json +1 -1
  81. package/dist/dynamic/components/TreeView/package.json +1 -1
  82. package/dist/dynamic/components/Truncate/package.json +1 -1
  83. package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
  84. package/dist/dynamic/components/Wizard/package.json +1 -1
  85. package/dist/dynamic/deprecated/components/Chip/package.json +1 -1
  86. package/dist/dynamic/deprecated/components/DragDrop/package.json +1 -1
  87. package/dist/dynamic/deprecated/components/DualListSelector/package.json +1 -1
  88. package/dist/dynamic/deprecated/components/Modal/package.json +1 -1
  89. package/dist/dynamic/deprecated/components/Tile/package.json +1 -1
  90. package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
  91. package/dist/dynamic/deprecated/components/package.json +1 -1
  92. package/dist/dynamic/helpers/AnimationsProvider/AnimationsProvider/package.json +1 -1
  93. package/dist/dynamic/helpers/AnimationsProvider/package.json +1 -1
  94. package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
  95. package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
  96. package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
  97. package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
  98. package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
  99. package/dist/dynamic/helpers/SSRSafeIds/SSRSafeIds/package.json +1 -0
  100. package/dist/dynamic/helpers/constants/package.json +1 -1
  101. package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
  102. package/dist/dynamic/helpers/fileUtils/package.json +1 -1
  103. package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
  104. package/dist/dynamic/helpers/package.json +1 -1
  105. package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
  106. package/dist/dynamic/helpers/typeUtils/package.json +1 -1
  107. package/dist/dynamic/helpers/useInterval/package.json +1 -1
  108. package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
  109. package/dist/dynamic/helpers/useSSRSafeId/package.json +1 -0
  110. package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
  111. package/dist/dynamic/helpers/util/package.json +1 -1
  112. package/dist/dynamic/layouts/Bullseye/package.json +1 -1
  113. package/dist/dynamic/layouts/Flex/package.json +1 -1
  114. package/dist/dynamic/layouts/Gallery/package.json +1 -1
  115. package/dist/dynamic/layouts/Grid/package.json +1 -1
  116. package/dist/dynamic/layouts/Level/package.json +1 -1
  117. package/dist/dynamic/layouts/Split/package.json +1 -1
  118. package/dist/dynamic/layouts/Stack/package.json +1 -1
  119. package/dist/dynamic/styles/package.json +1 -1
  120. package/dist/dynamic-modules.json +3 -0
  121. package/dist/esm/components/AboutModal/AboutModal.d.ts.map +1 -1
  122. package/dist/esm/components/AboutModal/AboutModal.js +3 -4
  123. package/dist/esm/components/AboutModal/AboutModal.js.map +1 -1
  124. package/dist/esm/components/CalendarMonth/CalendarMonth.js +2 -2
  125. package/dist/esm/components/CalendarMonth/CalendarMonth.js.map +1 -1
  126. package/dist/esm/components/Card/CardHeader.js +34 -33
  127. package/dist/esm/components/Card/CardHeader.js.map +1 -1
  128. package/dist/esm/components/Checkbox/Checkbox.d.ts +1 -6
  129. package/dist/esm/components/Checkbox/Checkbox.d.ts.map +1 -1
  130. package/dist/esm/components/Checkbox/Checkbox.js +22 -25
  131. package/dist/esm/components/Checkbox/Checkbox.js.map +1 -1
  132. package/dist/esm/components/DataList/DataListCheck.d.ts.map +1 -1
  133. package/dist/esm/components/DataList/DataListCheck.js +3 -2
  134. package/dist/esm/components/DataList/DataListCheck.js.map +1 -1
  135. package/dist/esm/components/Drawer/DrawerPanelContent.d.ts.map +1 -1
  136. package/dist/esm/components/Drawer/DrawerPanelContent.js +42 -43
  137. package/dist/esm/components/Drawer/DrawerPanelContent.js.map +1 -1
  138. package/dist/esm/components/DualListSelector/DualListSelector.d.ts.map +1 -1
  139. package/dist/esm/components/DualListSelector/DualListSelector.js +3 -2
  140. package/dist/esm/components/DualListSelector/DualListSelector.js.map +1 -1
  141. package/dist/esm/components/DualListSelector/DualListSelectorListItem.d.ts.map +1 -1
  142. package/dist/esm/components/DualListSelector/DualListSelectorListItem.js +4 -2
  143. package/dist/esm/components/DualListSelector/DualListSelectorListItem.js.map +1 -1
  144. package/dist/esm/components/DualListSelector/DualListSelectorListWrapper.d.ts.map +1 -1
  145. package/dist/esm/components/DualListSelector/DualListSelectorListWrapper.js +4 -2
  146. package/dist/esm/components/DualListSelector/DualListSelectorListWrapper.js.map +1 -1
  147. package/dist/esm/components/DualListSelector/DualListSelectorPane.d.ts.map +1 -1
  148. package/dist/esm/components/DualListSelector/DualListSelectorPane.js +4 -2
  149. package/dist/esm/components/DualListSelector/DualListSelectorPane.js.map +1 -1
  150. package/dist/esm/components/ExpandableSection/ExpandableSection.d.ts.map +1 -1
  151. package/dist/esm/components/ExpandableSection/ExpandableSection.js +11 -8
  152. package/dist/esm/components/ExpandableSection/ExpandableSection.js.map +1 -1
  153. package/dist/esm/components/Form/FormGroup.d.ts.map +1 -1
  154. package/dist/esm/components/Form/FormGroup.js +3 -2
  155. package/dist/esm/components/Form/FormGroup.js.map +1 -1
  156. package/dist/esm/components/Form/InternalFormFieldGroup.d.ts.map +1 -1
  157. package/dist/esm/components/Form/InternalFormFieldGroup.js +3 -2
  158. package/dist/esm/components/Form/InternalFormFieldGroup.js.map +1 -1
  159. package/dist/esm/components/FormSelect/FormSelect.d.ts +1 -3
  160. package/dist/esm/components/FormSelect/FormSelect.d.ts.map +1 -1
  161. package/dist/esm/components/FormSelect/FormSelect.js +3 -5
  162. package/dist/esm/components/FormSelect/FormSelect.js.map +1 -1
  163. package/dist/esm/components/JumpLinks/JumpLinks.d.ts.map +1 -1
  164. package/dist/esm/components/JumpLinks/JumpLinks.js +4 -2
  165. package/dist/esm/components/JumpLinks/JumpLinks.js.map +1 -1
  166. package/dist/esm/components/Menu/Menu.d.ts +0 -1
  167. package/dist/esm/components/Menu/Menu.d.ts.map +1 -1
  168. package/dist/esm/components/Menu/Menu.js +38 -36
  169. package/dist/esm/components/Menu/Menu.js.map +1 -1
  170. package/dist/esm/components/Menu/MenuItem.d.ts.map +1 -1
  171. package/dist/esm/components/Menu/MenuItem.js +13 -12
  172. package/dist/esm/components/Menu/MenuItem.js.map +1 -1
  173. package/dist/esm/components/MenuToggle/MenuToggle.d.ts.map +1 -1
  174. package/dist/esm/components/MenuToggle/MenuToggle.js +30 -30
  175. package/dist/esm/components/MenuToggle/MenuToggle.js.map +1 -1
  176. package/dist/esm/components/MenuToggle/MenuToggleCheckbox.d.ts +1 -4
  177. package/dist/esm/components/MenuToggle/MenuToggleCheckbox.d.ts.map +1 -1
  178. package/dist/esm/components/MenuToggle/MenuToggleCheckbox.js +7 -9
  179. package/dist/esm/components/MenuToggle/MenuToggleCheckbox.js.map +1 -1
  180. package/dist/esm/components/Modal/Modal.d.ts +2 -2
  181. package/dist/esm/components/Modal/Modal.d.ts.map +1 -1
  182. package/dist/esm/components/Modal/Modal.js +5 -4
  183. package/dist/esm/components/Modal/Modal.js.map +1 -1
  184. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatus.d.ts.map +1 -1
  185. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatus.js +3 -2
  186. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatus.js.map +1 -1
  187. package/dist/esm/components/Nav/Nav.d.ts +0 -2
  188. package/dist/esm/components/Nav/Nav.d.ts.map +1 -1
  189. package/dist/esm/components/Nav/Nav.js +11 -11
  190. package/dist/esm/components/Nav/Nav.js.map +1 -1
  191. package/dist/esm/components/Nav/NavExpandable.d.ts +0 -3
  192. package/dist/esm/components/Nav/NavExpandable.d.ts.map +1 -1
  193. package/dist/esm/components/Nav/NavExpandable.js +9 -10
  194. package/dist/esm/components/Nav/NavExpandable.js.map +1 -1
  195. package/dist/esm/components/Nav/NavGroup.d.ts.map +1 -1
  196. package/dist/esm/components/Nav/NavGroup.js +4 -2
  197. package/dist/esm/components/Nav/NavGroup.js.map +1 -1
  198. package/dist/esm/components/Popover/Popover.d.ts.map +1 -1
  199. package/dist/esm/components/Popover/Popover.js +3 -2
  200. package/dist/esm/components/Popover/Popover.js.map +1 -1
  201. package/dist/esm/components/Progress/Progress.d.ts +0 -1
  202. package/dist/esm/components/Progress/Progress.d.ts.map +1 -1
  203. package/dist/esm/components/Progress/Progress.js +27 -29
  204. package/dist/esm/components/Progress/Progress.js.map +1 -1
  205. package/dist/esm/components/Radio/Radio.d.ts +1 -4
  206. package/dist/esm/components/Radio/Radio.d.ts.map +1 -1
  207. package/dist/esm/components/Radio/Radio.js +17 -20
  208. package/dist/esm/components/Radio/Radio.js.map +1 -1
  209. package/dist/esm/components/SearchInput/AdvancedSearchMenu.d.ts.map +1 -1
  210. package/dist/esm/components/SearchInput/AdvancedSearchMenu.js +3 -2
  211. package/dist/esm/components/SearchInput/AdvancedSearchMenu.js.map +1 -1
  212. package/dist/esm/components/Select/Select.d.ts.map +1 -1
  213. package/dist/esm/components/Select/Select.js +4 -2
  214. package/dist/esm/components/Select/Select.js.map +1 -1
  215. package/dist/esm/components/Switch/Switch.d.ts +1 -4
  216. package/dist/esm/components/Switch/Switch.d.ts.map +1 -1
  217. package/dist/esm/components/Switch/Switch.js +11 -14
  218. package/dist/esm/components/Switch/Switch.js.map +1 -1
  219. package/dist/esm/components/Tabs/Tabs.d.ts +0 -1
  220. package/dist/esm/components/Tabs/Tabs.d.ts.map +1 -1
  221. package/dist/esm/components/Tabs/Tabs.js +20 -18
  222. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  223. package/dist/esm/components/TextInput/TextInput.d.ts +1 -5
  224. package/dist/esm/components/TextInput/TextInput.d.ts.map +1 -1
  225. package/dist/esm/components/TextInput/TextInput.js +3 -5
  226. package/dist/esm/components/TextInput/TextInput.js.map +1 -1
  227. package/dist/esm/components/TimePicker/TimePicker.d.ts.map +1 -1
  228. package/dist/esm/components/TimePicker/TimePicker.js +24 -22
  229. package/dist/esm/components/TimePicker/TimePicker.js.map +1 -1
  230. package/dist/esm/components/Toolbar/Toolbar.d.ts +1 -3
  231. package/dist/esm/components/Toolbar/Toolbar.d.ts.map +1 -1
  232. package/dist/esm/components/Toolbar/Toolbar.js +9 -7
  233. package/dist/esm/components/Toolbar/Toolbar.js.map +1 -1
  234. package/dist/esm/components/Toolbar/ToolbarLabelGroupContent.d.ts +9 -1
  235. package/dist/esm/components/Toolbar/ToolbarLabelGroupContent.d.ts.map +1 -1
  236. package/dist/esm/components/Toolbar/ToolbarLabelGroupContent.js +18 -4
  237. package/dist/esm/components/Toolbar/ToolbarLabelGroupContent.js.map +1 -1
  238. package/dist/esm/components/Toolbar/ToolbarToggleGroup.js +2 -2
  239. package/dist/esm/components/Toolbar/ToolbarToggleGroup.js.map +1 -1
  240. package/dist/esm/components/Tooltip/Tooltip.d.ts.map +1 -1
  241. package/dist/esm/components/Tooltip/Tooltip.js +8 -4
  242. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  243. package/dist/esm/components/TreeView/TreeViewListItem.d.ts.map +1 -1
  244. package/dist/esm/components/TreeView/TreeViewListItem.js +14 -13
  245. package/dist/esm/components/TreeView/TreeViewListItem.js.map +1 -1
  246. package/dist/esm/deprecated/components/Chip/Chip.d.ts.map +1 -1
  247. package/dist/esm/deprecated/components/Chip/Chip.js +8 -7
  248. package/dist/esm/deprecated/components/Chip/Chip.js.map +1 -1
  249. package/dist/esm/deprecated/components/DualListSelector/DualListSelectorListItem.d.ts.map +1 -1
  250. package/dist/esm/deprecated/components/DualListSelector/DualListSelectorListItem.js +4 -2
  251. package/dist/esm/deprecated/components/DualListSelector/DualListSelectorListItem.js.map +1 -1
  252. package/dist/esm/deprecated/components/DualListSelector/DualListSelectorListWrapper.d.ts.map +1 -1
  253. package/dist/esm/deprecated/components/DualListSelector/DualListSelectorListWrapper.js +4 -2
  254. package/dist/esm/deprecated/components/DualListSelector/DualListSelectorListWrapper.js.map +1 -1
  255. package/dist/esm/deprecated/components/DualListSelector/DualListSelectorPane.d.ts.map +1 -1
  256. package/dist/esm/deprecated/components/DualListSelector/DualListSelectorPane.js +4 -2
  257. package/dist/esm/deprecated/components/DualListSelector/DualListSelectorPane.js.map +1 -1
  258. package/dist/esm/deprecated/components/Modal/Modal.d.ts +2 -2
  259. package/dist/esm/deprecated/components/Modal/Modal.d.ts.map +1 -1
  260. package/dist/esm/deprecated/components/Modal/Modal.js +5 -4
  261. package/dist/esm/deprecated/components/Modal/Modal.js.map +1 -1
  262. package/dist/esm/helpers/GenerateId/GenerateId.d.ts +7 -25
  263. package/dist/esm/helpers/GenerateId/GenerateId.d.ts.map +1 -1
  264. package/dist/esm/helpers/GenerateId/GenerateId.js +8 -27
  265. package/dist/esm/helpers/GenerateId/GenerateId.js.map +1 -1
  266. package/dist/esm/helpers/OUIA/ouia.d.ts +10 -18
  267. package/dist/esm/helpers/OUIA/ouia.d.ts.map +1 -1
  268. package/dist/esm/helpers/OUIA/ouia.js +15 -46
  269. package/dist/esm/helpers/OUIA/ouia.js.map +1 -1
  270. package/dist/esm/helpers/SSRSafeIds/SSRSafeIds.d.ts +19 -0
  271. package/dist/esm/helpers/SSRSafeIds/SSRSafeIds.d.ts.map +1 -0
  272. package/dist/esm/helpers/SSRSafeIds/SSRSafeIds.js +15 -0
  273. package/dist/esm/helpers/SSRSafeIds/SSRSafeIds.js.map +1 -0
  274. package/dist/esm/helpers/index.d.ts +2 -0
  275. package/dist/esm/helpers/index.d.ts.map +1 -1
  276. package/dist/esm/helpers/index.js +2 -0
  277. package/dist/esm/helpers/index.js.map +1 -1
  278. package/dist/esm/helpers/useSSRSafeId.d.ts +6 -0
  279. package/dist/esm/helpers/useSSRSafeId.d.ts.map +1 -0
  280. package/dist/esm/helpers/useSSRSafeId.js +16 -0
  281. package/dist/esm/helpers/useSSRSafeId.js.map +1 -0
  282. package/dist/js/components/AboutModal/AboutModal.d.ts.map +1 -1
  283. package/dist/js/components/AboutModal/AboutModal.js +3 -4
  284. package/dist/js/components/AboutModal/AboutModal.js.map +1 -1
  285. package/dist/js/components/CalendarMonth/CalendarMonth.js +2 -2
  286. package/dist/js/components/CalendarMonth/CalendarMonth.js.map +1 -1
  287. package/dist/js/components/Card/CardHeader.js +34 -33
  288. package/dist/js/components/Card/CardHeader.js.map +1 -1
  289. package/dist/js/components/Checkbox/Checkbox.d.ts +1 -6
  290. package/dist/js/components/Checkbox/Checkbox.d.ts.map +1 -1
  291. package/dist/js/components/Checkbox/Checkbox.js +21 -24
  292. package/dist/js/components/Checkbox/Checkbox.js.map +1 -1
  293. package/dist/js/components/DataList/DataListCheck.d.ts.map +1 -1
  294. package/dist/js/components/DataList/DataListCheck.js +3 -2
  295. package/dist/js/components/DataList/DataListCheck.js.map +1 -1
  296. package/dist/js/components/Drawer/DrawerPanelContent.d.ts.map +1 -1
  297. package/dist/js/components/Drawer/DrawerPanelContent.js +42 -43
  298. package/dist/js/components/Drawer/DrawerPanelContent.js.map +1 -1
  299. package/dist/js/components/DualListSelector/DualListSelector.d.ts.map +1 -1
  300. package/dist/js/components/DualListSelector/DualListSelector.js +2 -1
  301. package/dist/js/components/DualListSelector/DualListSelector.js.map +1 -1
  302. package/dist/js/components/DualListSelector/DualListSelectorListItem.d.ts.map +1 -1
  303. package/dist/js/components/DualListSelector/DualListSelectorListItem.js +3 -1
  304. package/dist/js/components/DualListSelector/DualListSelectorListItem.js.map +1 -1
  305. package/dist/js/components/DualListSelector/DualListSelectorListWrapper.d.ts.map +1 -1
  306. package/dist/js/components/DualListSelector/DualListSelectorListWrapper.js +3 -1
  307. package/dist/js/components/DualListSelector/DualListSelectorListWrapper.js.map +1 -1
  308. package/dist/js/components/DualListSelector/DualListSelectorPane.d.ts.map +1 -1
  309. package/dist/js/components/DualListSelector/DualListSelectorPane.js +3 -1
  310. package/dist/js/components/DualListSelector/DualListSelectorPane.js.map +1 -1
  311. package/dist/js/components/ExpandableSection/ExpandableSection.d.ts.map +1 -1
  312. package/dist/js/components/ExpandableSection/ExpandableSection.js +10 -7
  313. package/dist/js/components/ExpandableSection/ExpandableSection.js.map +1 -1
  314. package/dist/js/components/Form/FormGroup.d.ts.map +1 -1
  315. package/dist/js/components/Form/FormGroup.js +3 -2
  316. package/dist/js/components/Form/FormGroup.js.map +1 -1
  317. package/dist/js/components/Form/InternalFormFieldGroup.d.ts.map +1 -1
  318. package/dist/js/components/Form/InternalFormFieldGroup.js +2 -1
  319. package/dist/js/components/Form/InternalFormFieldGroup.js.map +1 -1
  320. package/dist/js/components/FormSelect/FormSelect.d.ts +1 -3
  321. package/dist/js/components/FormSelect/FormSelect.d.ts.map +1 -1
  322. package/dist/js/components/FormSelect/FormSelect.js +2 -4
  323. package/dist/js/components/FormSelect/FormSelect.js.map +1 -1
  324. package/dist/js/components/JumpLinks/JumpLinks.d.ts.map +1 -1
  325. package/dist/js/components/JumpLinks/JumpLinks.js +3 -1
  326. package/dist/js/components/JumpLinks/JumpLinks.js.map +1 -1
  327. package/dist/js/components/Menu/Menu.d.ts +0 -1
  328. package/dist/js/components/Menu/Menu.d.ts.map +1 -1
  329. package/dist/js/components/Menu/Menu.js +37 -35
  330. package/dist/js/components/Menu/Menu.js.map +1 -1
  331. package/dist/js/components/Menu/MenuItem.d.ts.map +1 -1
  332. package/dist/js/components/Menu/MenuItem.js +13 -12
  333. package/dist/js/components/Menu/MenuItem.js.map +1 -1
  334. package/dist/js/components/MenuToggle/MenuToggle.d.ts.map +1 -1
  335. package/dist/js/components/MenuToggle/MenuToggle.js +29 -29
  336. package/dist/js/components/MenuToggle/MenuToggle.js.map +1 -1
  337. package/dist/js/components/MenuToggle/MenuToggleCheckbox.d.ts +1 -4
  338. package/dist/js/components/MenuToggle/MenuToggleCheckbox.d.ts.map +1 -1
  339. package/dist/js/components/MenuToggle/MenuToggleCheckbox.js +6 -8
  340. package/dist/js/components/MenuToggle/MenuToggleCheckbox.js.map +1 -1
  341. package/dist/js/components/Modal/Modal.d.ts +2 -2
  342. package/dist/js/components/Modal/Modal.d.ts.map +1 -1
  343. package/dist/js/components/Modal/Modal.js +5 -4
  344. package/dist/js/components/Modal/Modal.js.map +1 -1
  345. package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatus.d.ts.map +1 -1
  346. package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatus.js +3 -2
  347. package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatus.js.map +1 -1
  348. package/dist/js/components/Nav/Nav.d.ts +0 -2
  349. package/dist/js/components/Nav/Nav.d.ts.map +1 -1
  350. package/dist/js/components/Nav/Nav.js +10 -10
  351. package/dist/js/components/Nav/Nav.js.map +1 -1
  352. package/dist/js/components/Nav/NavExpandable.d.ts +0 -3
  353. package/dist/js/components/Nav/NavExpandable.d.ts.map +1 -1
  354. package/dist/js/components/Nav/NavExpandable.js +8 -9
  355. package/dist/js/components/Nav/NavExpandable.js.map +1 -1
  356. package/dist/js/components/Nav/NavGroup.d.ts.map +1 -1
  357. package/dist/js/components/Nav/NavGroup.js +4 -2
  358. package/dist/js/components/Nav/NavGroup.js.map +1 -1
  359. package/dist/js/components/Popover/Popover.d.ts.map +1 -1
  360. package/dist/js/components/Popover/Popover.js +3 -2
  361. package/dist/js/components/Popover/Popover.js.map +1 -1
  362. package/dist/js/components/Progress/Progress.d.ts +0 -1
  363. package/dist/js/components/Progress/Progress.d.ts.map +1 -1
  364. package/dist/js/components/Progress/Progress.js +27 -29
  365. package/dist/js/components/Progress/Progress.js.map +1 -1
  366. package/dist/js/components/Radio/Radio.d.ts +1 -4
  367. package/dist/js/components/Radio/Radio.d.ts.map +1 -1
  368. package/dist/js/components/Radio/Radio.js +16 -19
  369. package/dist/js/components/Radio/Radio.js.map +1 -1
  370. package/dist/js/components/SearchInput/AdvancedSearchMenu.d.ts.map +1 -1
  371. package/dist/js/components/SearchInput/AdvancedSearchMenu.js +2 -1
  372. package/dist/js/components/SearchInput/AdvancedSearchMenu.js.map +1 -1
  373. package/dist/js/components/Select/Select.d.ts.map +1 -1
  374. package/dist/js/components/Select/Select.js +3 -1
  375. package/dist/js/components/Select/Select.js.map +1 -1
  376. package/dist/js/components/Switch/Switch.d.ts +1 -4
  377. package/dist/js/components/Switch/Switch.d.ts.map +1 -1
  378. package/dist/js/components/Switch/Switch.js +10 -13
  379. package/dist/js/components/Switch/Switch.js.map +1 -1
  380. package/dist/js/components/Tabs/Tabs.d.ts +0 -1
  381. package/dist/js/components/Tabs/Tabs.d.ts.map +1 -1
  382. package/dist/js/components/Tabs/Tabs.js +18 -16
  383. package/dist/js/components/Tabs/Tabs.js.map +1 -1
  384. package/dist/js/components/TextInput/TextInput.d.ts +1 -5
  385. package/dist/js/components/TextInput/TextInput.d.ts.map +1 -1
  386. package/dist/js/components/TextInput/TextInput.js +2 -4
  387. package/dist/js/components/TextInput/TextInput.js.map +1 -1
  388. package/dist/js/components/TimePicker/TimePicker.d.ts.map +1 -1
  389. package/dist/js/components/TimePicker/TimePicker.js +24 -22
  390. package/dist/js/components/TimePicker/TimePicker.js.map +1 -1
  391. package/dist/js/components/Toolbar/Toolbar.d.ts +1 -3
  392. package/dist/js/components/Toolbar/Toolbar.d.ts.map +1 -1
  393. package/dist/js/components/Toolbar/Toolbar.js +8 -6
  394. package/dist/js/components/Toolbar/Toolbar.js.map +1 -1
  395. package/dist/js/components/Toolbar/ToolbarLabelGroupContent.d.ts +9 -1
  396. package/dist/js/components/Toolbar/ToolbarLabelGroupContent.d.ts.map +1 -1
  397. package/dist/js/components/Toolbar/ToolbarLabelGroupContent.js +18 -4
  398. package/dist/js/components/Toolbar/ToolbarLabelGroupContent.js.map +1 -1
  399. package/dist/js/components/Toolbar/ToolbarToggleGroup.js +1 -1
  400. package/dist/js/components/Toolbar/ToolbarToggleGroup.js.map +1 -1
  401. package/dist/js/components/Tooltip/Tooltip.d.ts.map +1 -1
  402. package/dist/js/components/Tooltip/Tooltip.js +8 -4
  403. package/dist/js/components/Tooltip/Tooltip.js.map +1 -1
  404. package/dist/js/components/TreeView/TreeViewListItem.d.ts.map +1 -1
  405. package/dist/js/components/TreeView/TreeViewListItem.js +15 -14
  406. package/dist/js/components/TreeView/TreeViewListItem.js.map +1 -1
  407. package/dist/js/deprecated/components/Chip/Chip.d.ts.map +1 -1
  408. package/dist/js/deprecated/components/Chip/Chip.js +6 -5
  409. package/dist/js/deprecated/components/Chip/Chip.js.map +1 -1
  410. package/dist/js/deprecated/components/DualListSelector/DualListSelectorListItem.d.ts.map +1 -1
  411. package/dist/js/deprecated/components/DualListSelector/DualListSelectorListItem.js +3 -1
  412. package/dist/js/deprecated/components/DualListSelector/DualListSelectorListItem.js.map +1 -1
  413. package/dist/js/deprecated/components/DualListSelector/DualListSelectorListWrapper.d.ts.map +1 -1
  414. package/dist/js/deprecated/components/DualListSelector/DualListSelectorListWrapper.js +3 -1
  415. package/dist/js/deprecated/components/DualListSelector/DualListSelectorListWrapper.js.map +1 -1
  416. package/dist/js/deprecated/components/DualListSelector/DualListSelectorPane.d.ts.map +1 -1
  417. package/dist/js/deprecated/components/DualListSelector/DualListSelectorPane.js +3 -1
  418. package/dist/js/deprecated/components/DualListSelector/DualListSelectorPane.js.map +1 -1
  419. package/dist/js/deprecated/components/Modal/Modal.d.ts +2 -2
  420. package/dist/js/deprecated/components/Modal/Modal.d.ts.map +1 -1
  421. package/dist/js/deprecated/components/Modal/Modal.js +5 -4
  422. package/dist/js/deprecated/components/Modal/Modal.js.map +1 -1
  423. package/dist/js/helpers/GenerateId/GenerateId.d.ts +7 -25
  424. package/dist/js/helpers/GenerateId/GenerateId.d.ts.map +1 -1
  425. package/dist/js/helpers/GenerateId/GenerateId.js +8 -27
  426. package/dist/js/helpers/GenerateId/GenerateId.js.map +1 -1
  427. package/dist/js/helpers/OUIA/ouia.d.ts +10 -18
  428. package/dist/js/helpers/OUIA/ouia.d.ts.map +1 -1
  429. package/dist/js/helpers/OUIA/ouia.js +15 -46
  430. package/dist/js/helpers/OUIA/ouia.js.map +1 -1
  431. package/dist/js/helpers/SSRSafeIds/SSRSafeIds.d.ts +19 -0
  432. package/dist/js/helpers/SSRSafeIds/SSRSafeIds.d.ts.map +1 -0
  433. package/dist/js/helpers/SSRSafeIds/SSRSafeIds.js +19 -0
  434. package/dist/js/helpers/SSRSafeIds/SSRSafeIds.js.map +1 -0
  435. package/dist/js/helpers/index.d.ts +2 -0
  436. package/dist/js/helpers/index.d.ts.map +1 -1
  437. package/dist/js/helpers/index.js +2 -0
  438. package/dist/js/helpers/index.js.map +1 -1
  439. package/dist/js/helpers/useSSRSafeId.d.ts +6 -0
  440. package/dist/js/helpers/useSSRSafeId.d.ts.map +1 -0
  441. package/dist/js/helpers/useSSRSafeId.js +19 -0
  442. package/dist/js/helpers/useSSRSafeId.js.map +1 -0
  443. package/dist/umd/assets/{output-QrlY89mR.css → output-Bs30jdCr.css} +20269 -20269
  444. package/dist/umd/react-core.min.js +1 -1
  445. package/helpers/package.json +1 -1
  446. package/layouts/package.json +1 -1
  447. package/next/package.json +1 -1
  448. package/package.json +2 -2
  449. package/src/components/AboutModal/AboutModal.tsx +26 -30
  450. package/src/components/AboutModal/__tests__/__snapshots__/AboutModalBoxCloseButton.test.tsx.snap +3 -3
  451. package/src/components/AboutModal/__tests__/__snapshots__/AboutModalBoxHeader.test.tsx.snap +1 -1
  452. package/src/components/Alert/__tests__/Generated/__snapshots__/AlertActionCloseButton.test.tsx.snap +1 -1
  453. package/src/components/Alert/__tests__/Generated/__snapshots__/AlertActionLink.test.tsx.snap +1 -1
  454. package/src/components/Breadcrumb/__tests__/__snapshots__/Breadcrumb.test.tsx.snap +4 -4
  455. package/src/components/Button/__tests__/__snapshots__/Button.test.tsx.snap +1 -1
  456. package/src/components/CalendarMonth/CalendarMonth.tsx +2 -2
  457. package/src/components/Card/CardHeader.tsx +113 -113
  458. package/src/components/Card/__tests__/__snapshots__/Card.test.tsx.snap +2 -2
  459. package/src/components/Card/__tests__/__snapshots__/CardHeader.test.tsx.snap +1 -1
  460. package/src/components/Checkbox/Checkbox.tsx +73 -81
  461. package/src/components/ClipboardCopy/__tests__/__snapshots__/ClipboardCopy.test.tsx.snap +1 -1
  462. package/src/components/ClipboardCopy/__tests__/__snapshots__/ClipboardCopyButton.test.tsx.snap +1 -1
  463. package/src/components/ClipboardCopy/__tests__/__snapshots__/ClipboardCopyToggle.test.tsx.snap +1 -1
  464. package/src/components/Compass/__tests__/__snapshots__/CompassNavHome.test.tsx.snap +2 -2
  465. package/src/components/Compass/__tests__/__snapshots__/CompassNavSearch.test.tsx.snap +2 -2
  466. package/src/components/DataList/DataListCheck.tsx +13 -16
  467. package/src/components/DataList/__tests__/Generated/__snapshots__/DataListCheck.test.tsx.snap +1 -1
  468. package/src/components/DataList/__tests__/Generated/__snapshots__/DataListToggle.test.tsx.snap +1 -1
  469. package/src/components/DataList/__tests__/__snapshots__/DataListToggle.test.tsx.snap +1 -1
  470. package/src/components/DatePicker/__tests__/__snapshots__/DatePicker.test.tsx.snap +11 -11
  471. package/src/components/Drawer/DrawerPanelContent.tsx +92 -97
  472. package/src/components/Drawer/__tests__/Generated/__snapshots__/DrawerPanelContent.test.tsx.snap +1 -1
  473. package/src/components/Drawer/__tests__/__snapshots__/Drawer.test.tsx.snap +14 -14
  474. package/src/components/DualListSelector/DualListSelector.tsx +9 -16
  475. package/src/components/DualListSelector/DualListSelectorListItem.tsx +4 -2
  476. package/src/components/DualListSelector/DualListSelectorListWrapper.tsx +4 -2
  477. package/src/components/DualListSelector/DualListSelectorPane.tsx +45 -41
  478. package/src/components/EmptyState/__tests__/__snapshots__/EmptyState.test.tsx.snap +2 -2
  479. package/src/components/ExpandableSection/ExpandableSection.tsx +63 -50
  480. package/src/components/ExpandableSection/__tests__/__snapshots__/ExpandableSection.test.tsx.snap +5 -5
  481. package/src/components/FileUpload/__tests__/__snapshots__/FileUpload.test.tsx.snap +3 -3
  482. package/src/components/FileUpload/__tests__/__snapshots__/FileUploadField.test.tsx.snap +3 -3
  483. package/src/components/Form/FormGroup.tsx +27 -34
  484. package/src/components/Form/InternalFormFieldGroup.tsx +9 -12
  485. package/src/components/Form/__tests__/__snapshots__/FormFieldGroup.test.tsx.snap +5 -5
  486. package/src/components/FormSelect/FormSelect.tsx +33 -31
  487. package/src/components/FormSelect/__tests__/__snapshots__/FormSelect.test.tsx.snap +9 -9
  488. package/src/components/JumpLinks/JumpLinks.tsx +4 -2
  489. package/src/components/JumpLinks/__tests__/JumpLinks.test.tsx +4 -5
  490. package/src/components/JumpLinks/__tests__/__snapshots__/JumpLinks.test.tsx.snap +29 -29
  491. package/src/components/Label/__tests__/__snapshots__/Label.test.tsx.snap +3 -3
  492. package/src/components/Label/__tests__/__snapshots__/LabelGroup.test.tsx.snap +1 -1
  493. package/src/components/LoginPage/__tests__/__snapshots__/LoginForm.test.tsx.snap +11 -11
  494. package/src/components/LoginPage/__tests__/__snapshots__/LoginMainHeader.test.tsx.snap +1 -1
  495. package/src/components/LoginPage/__tests__/__snapshots__/LoginPage.test.tsx.snap +3 -3
  496. package/src/components/Menu/Menu.tsx +71 -68
  497. package/src/components/Menu/MenuItem.tsx +65 -68
  498. package/src/components/Menu/__tests__/__snapshots__/Menu.test.tsx.snap +1 -1
  499. package/src/components/MenuToggle/MenuToggle.tsx +128 -124
  500. package/src/components/MenuToggle/MenuToggleCheckbox.tsx +28 -30
  501. package/src/components/MenuToggle/__tests__/__snapshots__/MenuToggle.test.tsx.snap +9 -9
  502. package/src/components/Modal/Modal.tsx +28 -20
  503. package/src/components/Modal/__tests__/__snapshots__/ModalContent.test.tsx.snap +1 -1
  504. package/src/components/MultipleFileUpload/MultipleFileUploadStatus.tsx +13 -16
  505. package/src/components/MultipleFileUpload/__tests__/__snapshots__/MultipleFileUploadButton.test.tsx.snap +4 -4
  506. package/src/components/MultipleFileUpload/__tests__/__snapshots__/MultipleFileUploadMain.test.tsx.snap +4 -4
  507. package/src/components/MultipleFileUpload/__tests__/__snapshots__/MultipleFileUploadStatus.test.tsx.snap +20 -20
  508. package/src/components/MultipleFileUpload/__tests__/__snapshots__/MultipleFileUploadStatusItem.test.tsx.snap +8 -8
  509. package/src/components/Nav/Nav.tsx +48 -47
  510. package/src/components/Nav/NavExpandable.tsx +64 -56
  511. package/src/components/Nav/NavGroup.tsx +4 -2
  512. package/src/components/Nav/__tests__/Generated/__snapshots__/NavExpandable.test.tsx.snap +1 -1
  513. package/src/components/Nav/__tests__/Generated/__snapshots__/NavItem.test.tsx.snap +1 -1
  514. package/src/components/Nav/__tests__/__snapshots__/Nav.test.tsx.snap +56 -56
  515. package/src/components/NotificationBadge/__tests__/__snapshots__/NotificationBadge.test.tsx.snap +3 -3
  516. package/src/components/NumberInput/__tests__/__snapshots__/NumberInput.test.tsx.snap +39 -39
  517. package/src/components/OverflowMenu/__tests__/Generated/__snapshots__/OverflowMenuDropdownItem.test.tsx.snap +1 -1
  518. package/src/components/Page/__tests__/__snapshots__/Page.test.tsx.snap +22 -22
  519. package/src/components/Pagination/__tests__/Generated/__snapshots__/PaginationNavigation.test.tsx.snap +5 -5
  520. package/src/components/Pagination/__tests__/Generated/__snapshots__/PaginationOptionsMenu.test.tsx.snap +1 -1
  521. package/src/components/Pagination/__tests__/__snapshots__/Pagination.test.tsx.snap +146 -146
  522. package/src/components/Popover/Popover.tsx +3 -2
  523. package/src/components/Popover/__tests__/Generated/__snapshots__/PopoverCloseButton.test.tsx.snap +1 -1
  524. package/src/components/Progress/Progress.tsx +63 -55
  525. package/src/components/Radio/Radio.tsx +64 -63
  526. package/src/components/Radio/__tests__/__snapshots__/Radio.test.tsx.snap +10 -10
  527. package/src/components/SearchInput/AdvancedSearchMenu.tsx +10 -13
  528. package/src/components/SearchInput/__tests__/__snapshots__/SearchInput.test.tsx.snap +2 -2
  529. package/src/components/Select/Select.tsx +4 -6
  530. package/src/components/SkipToContent/__tests__/__snapshots__/SkipToContent.test.tsx.snap +1 -1
  531. package/src/components/Slider/__tests__/__snapshots__/Slider.test.tsx.snap +6 -6
  532. package/src/components/Switch/Switch.tsx +56 -56
  533. package/src/components/Switch/__tests__/__snapshots__/Switch.test.tsx.snap +8 -8
  534. package/src/components/Tabs/Tabs.tsx +138 -134
  535. package/src/components/Tabs/__tests__/__snapshots__/Tab.test.tsx.snap +1 -1
  536. package/src/components/Tabs/__tests__/__snapshots__/Tabs.test.tsx.snap +100 -101
  537. package/src/components/TextInput/TextInput.tsx +40 -42
  538. package/src/components/TextInput/__tests__/__snapshots__/TextInput.test.tsx.snap +7 -7
  539. package/src/components/TimePicker/TimePicker.tsx +90 -83
  540. package/src/components/Toolbar/Toolbar.tsx +12 -11
  541. package/src/components/Toolbar/ToolbarLabelGroupContent.tsx +20 -5
  542. package/src/components/Toolbar/ToolbarToggleGroup.tsx +2 -2
  543. package/src/components/Toolbar/__tests__/__snapshots__/Toolbar.test.tsx.snap +8 -8
  544. package/src/components/Tooltip/Tooltip.tsx +8 -5
  545. package/src/components/TreeView/TreeViewListItem.tsx +32 -35
  546. package/src/components/TreeView/__tests__/TreeViewListItem.test.tsx +3 -3
  547. package/src/deprecated/components/Chip/Chip.tsx +25 -20
  548. package/src/deprecated/components/Chip/__tests__/__snapshots__/Chip.test.tsx.snap +1 -1
  549. package/src/deprecated/components/DualListSelector/DualListSelectorListItem.tsx +4 -2
  550. package/src/deprecated/components/DualListSelector/DualListSelectorListWrapper.tsx +4 -2
  551. package/src/deprecated/components/DualListSelector/DualListSelectorPane.tsx +4 -2
  552. package/src/deprecated/components/DualListSelector/__tests__/__snapshots__/DualListSelector.test.tsx.snap +24 -24
  553. package/src/deprecated/components/Modal/Modal.tsx +34 -26
  554. package/src/deprecated/components/Modal/__tests__/__snapshots__/ModalContent.test.tsx.snap +8 -8
  555. package/src/deprecated/components/Wizard/__tests__/Generated/__snapshots__/WizardFooterInternal.test.tsx.snap +3 -3
  556. package/src/deprecated/components/Wizard/__tests__/Generated/__snapshots__/WizardNav.test.tsx.snap +1 -1
  557. package/src/deprecated/components/Wizard/__tests__/Generated/__snapshots__/WizardNavItem.test.tsx.snap +1 -1
  558. package/src/deprecated/components/Wizard/__tests__/__snapshots__/Wizard.test.tsx.snap +27 -27
  559. package/src/helpers/GenerateId/GenerateId.ts +11 -29
  560. package/src/helpers/GenerateId/__tests__/__snapshots__/GenerateId.test.tsx.snap +1 -1
  561. package/src/helpers/OUIA/ouia.ts +16 -44
  562. package/src/helpers/SSRSafeIds/SSRSafeIds.tsx +24 -0
  563. package/src/helpers/index.ts +2 -0
  564. package/src/helpers/useSSRSafeId.ts +18 -0
@@ -2,7 +2,6 @@ import { Component, createRef } from 'react';
2
2
  import { css } from '@patternfly/react-styles';
3
3
  import datePickerStyles from '@patternfly/react-styles/css/components/DatePicker/date-picker';
4
4
  import menuStyles from '@patternfly/react-styles/css/components/Menu/menu';
5
- import { getUniqueId } from '../../helpers';
6
5
  import { Popper } from '../../helpers/Popper/Popper';
7
6
  import { Menu, MenuContent, MenuList, MenuItem } from '../Menu';
8
7
  import { InputGroup, InputGroupItem } from '../InputGroup';
@@ -22,6 +21,7 @@ import {
22
21
  import { HelperText, HelperTextItem } from '../HelperText';
23
22
  import OutlinedClockIcon from '@patternfly/react-icons/dist/esm/icons/outlined-clock-icon';
24
23
  import cssDatePickerFormControlWidth from '@patternfly/react-tokens/dist/esm/c_date_picker__input_c_form_control_Width';
24
+ import { GenerateId } from '../../helpers';
25
25
 
26
26
  export interface TimePickerProps extends Omit<
27
27
  React.HTMLProps<HTMLDivElement>,
@@ -479,92 +479,99 @@ class TimePicker extends Component<TimePickerProps, TimePickerState> {
479
479
  const style = { [cssDatePickerFormControlWidth.name]: width } as React.CSSProperties;
480
480
  const options = makeTimeOptions(stepMinutes, !is24Hour, delimiter, minTimeState, maxTimeState, includeSeconds);
481
481
  const isValidFormat = this.isValidFormat(timeState);
482
- const randomId = id || getUniqueId('time-picker');
483
-
484
- const getParentElement = () => {
485
- if (this.baseComponentRef && this.baseComponentRef.current) {
486
- return this.baseComponentRef.current.parentElement;
487
- }
488
- return null;
489
- };
490
-
491
- const menuContainer = (
492
- <Menu ref={this.menuRef} isScrollable>
493
- <MenuContent maxMenuHeight="200px">
494
- <MenuList aria-label={ariaLabel}>
495
- {options.map((option, index) => (
496
- <MenuItem onClick={this.onSelect} key={option} id={`${randomId}-option-${index}`}>
497
- {option}
498
- </MenuItem>
499
- ))}
500
- </MenuList>
501
- </MenuContent>
502
- </Menu>
503
- );
504
-
505
- const textInput = (
506
- <TextInput
507
- aria-haspopup="menu"
508
- id={`${randomId}-input`}
509
- aria-label={ariaLabel}
510
- validated={isInvalid ? 'error' : 'default'}
511
- placeholder={placeholder}
512
- value={timeState || ''}
513
- type="text"
514
- customIcon={<OutlinedClockIcon />}
515
- onClick={this.onInputClick}
516
- onChange={this.onInputChange}
517
- autoComplete="off"
518
- isDisabled={isDisabled}
519
- isExpanded={isTimeOptionsOpen}
520
- ref={this.inputRef}
521
- {...inputProps}
522
- />
523
- );
524
-
525
- let calculatedAppendTo;
526
- switch (menuAppendTo) {
527
- case 'inline':
528
- calculatedAppendTo = () => this.toggleRef.current;
529
- break;
530
- case 'parent':
531
- calculatedAppendTo = getParentElement;
532
- break;
533
- default:
534
- calculatedAppendTo = menuAppendTo as HTMLElement;
535
- }
536
482
 
537
483
  return (
538
- <div ref={this.baseComponentRef} className={css(datePickerStyles.datePicker, className)}>
539
- <div className={css(datePickerStyles.datePickerInput)} style={style} {...props}>
540
- <InputGroup>
541
- <InputGroupItem>
542
- <div id={randomId}>
543
- <div ref={this.toggleRef} style={{ paddingLeft: '0' }}>
544
- <Popper
545
- appendTo={calculatedAppendTo}
546
- trigger={textInput}
547
- triggerRef={this.toggleRef}
548
- popper={menuContainer}
549
- popperRef={this.menuRef}
550
- isVisible={isTimeOptionsOpen}
551
- zIndex={zIndex}
552
- />
553
- </div>
484
+ <GenerateId prefix="time-picker-">
485
+ {(generatedId) => {
486
+ const randomId = id || generatedId;
487
+
488
+ const getParentElement = () => {
489
+ if (this.baseComponentRef && this.baseComponentRef.current) {
490
+ return this.baseComponentRef.current.parentElement;
491
+ }
492
+ return null;
493
+ };
494
+
495
+ const menuContainer = (
496
+ <Menu ref={this.menuRef} isScrollable>
497
+ <MenuContent maxMenuHeight="200px">
498
+ <MenuList aria-label={ariaLabel}>
499
+ {options.map((option, index) => (
500
+ <MenuItem onClick={this.onSelect} key={option} id={`${randomId}-option-${index}`}>
501
+ {option}
502
+ </MenuItem>
503
+ ))}
504
+ </MenuList>
505
+ </MenuContent>
506
+ </Menu>
507
+ );
508
+
509
+ const textInput = (
510
+ <TextInput
511
+ aria-haspopup="menu"
512
+ id={`${randomId}-input`}
513
+ aria-label={ariaLabel}
514
+ validated={isInvalid ? 'error' : 'default'}
515
+ placeholder={placeholder}
516
+ value={timeState || ''}
517
+ type="text"
518
+ customIcon={<OutlinedClockIcon />}
519
+ onClick={this.onInputClick}
520
+ onChange={this.onInputChange}
521
+ autoComplete="off"
522
+ isDisabled={isDisabled}
523
+ isExpanded={isTimeOptionsOpen}
524
+ ref={this.inputRef}
525
+ {...inputProps}
526
+ />
527
+ );
528
+
529
+ let calculatedAppendTo;
530
+ switch (menuAppendTo) {
531
+ case 'inline':
532
+ calculatedAppendTo = () => this.toggleRef.current;
533
+ break;
534
+ case 'parent':
535
+ calculatedAppendTo = getParentElement;
536
+ break;
537
+ default:
538
+ calculatedAppendTo = menuAppendTo as HTMLElement;
539
+ }
540
+
541
+ return (
542
+ <div ref={this.baseComponentRef} className={css(datePickerStyles.datePicker, className)}>
543
+ <div className={css(datePickerStyles.datePickerInput)} style={style} {...props}>
544
+ <InputGroup>
545
+ <InputGroupItem>
546
+ <div id={randomId}>
547
+ <div ref={this.toggleRef} style={{ paddingLeft: '0' }}>
548
+ <Popper
549
+ appendTo={calculatedAppendTo}
550
+ trigger={textInput}
551
+ triggerRef={this.toggleRef}
552
+ popper={menuContainer}
553
+ popperRef={this.menuRef}
554
+ isVisible={isTimeOptionsOpen}
555
+ zIndex={zIndex}
556
+ />
557
+ </div>
558
+ </div>
559
+ </InputGroupItem>
560
+ </InputGroup>
561
+ {isInvalid && (
562
+ <div className={css(datePickerStyles.datePickerHelperText)}>
563
+ <HelperText>
564
+ <HelperTextItem variant="error">
565
+ {!isValidFormat ? invalidFormatErrorMessage : invalidMinMaxErrorMessage}
566
+ </HelperTextItem>
567
+ </HelperText>
568
+ </div>
569
+ )}
554
570
  </div>
555
- </InputGroupItem>
556
- </InputGroup>
557
- {isInvalid && (
558
- <div className={css(datePickerStyles.datePickerHelperText)}>
559
- <HelperText>
560
- <HelperTextItem variant="error">
561
- {!isValidFormat ? invalidFormatErrorMessage : invalidMinMaxErrorMessage}
562
- </HelperTextItem>
563
- </HelperText>
564
571
  </div>
565
- )}
566
- </div>
567
- </div>
572
+ );
573
+ }}
574
+ </GenerateId>
568
575
  );
569
576
  }
570
577
  }
@@ -1,11 +1,11 @@
1
1
  import { Component, createRef } from 'react';
2
2
  import styles from '@patternfly/react-styles/css/components/Toolbar/toolbar';
3
- import { GenerateId } from '../../helpers/GenerateId/GenerateId';
4
3
  import { css } from '@patternfly/react-styles';
5
4
  import { ToolbarContext } from './ToolbarUtils';
6
5
  import { ToolbarLabelGroupContent } from './ToolbarLabelGroupContent';
7
6
  import { formatBreakpointMods, canUseDOM } from '../../helpers/util';
8
- import { getDefaultOUIAId, getOUIAProps, OUIAProps } from '../../helpers';
7
+ import { getOUIAProps, OUIAProps } from '../../helpers';
8
+ import { SSRSafeIds } from '../../helpers/SSRSafeIds/SSRSafeIds';
9
9
  import { PageContext } from '../Page/PageContext';
10
10
 
11
11
  export enum ToolbarColorVariant {
@@ -71,7 +71,6 @@ export interface ToolbarState {
71
71
  filterInfo: FilterInfo;
72
72
  /** Used to keep track of window width so we can collapse expanded content when window is resizing */
73
73
  windowWidth: number;
74
- ouiaStateId: string;
75
74
  }
76
75
 
77
76
  interface FilterInfo {
@@ -86,8 +85,7 @@ class Toolbar extends Component<ToolbarProps, ToolbarState> {
86
85
  state = {
87
86
  isManagedToggleExpanded: false,
88
87
  filterInfo: {},
89
- windowWidth: canUseDOM ? window.innerWidth : 1200,
90
- ouiaStateId: getDefaultOUIAId(Toolbar.displayName)
88
+ windowWidth: 1200
91
89
  };
92
90
 
93
91
  isToggleManaged = () => !(this.props.isExpanded || !!this.props.toggleIsExpanded);
@@ -108,6 +106,9 @@ class Toolbar extends Component<ToolbarProps, ToolbarState> {
108
106
  };
109
107
 
110
108
  componentDidMount() {
109
+ if (canUseDOM) {
110
+ this.setState({ windowWidth: window.innerWidth });
111
+ }
111
112
  if (this.isToggleManaged() && canUseDOM) {
112
113
  window.addEventListener('resize', this.closeExpandableContent);
113
114
  }
@@ -131,7 +132,7 @@ class Toolbar extends Component<ToolbarProps, ToolbarState> {
131
132
  getNumberOfFilters = () =>
132
133
  Object.values(this.state.filterInfo).reduce((acc: any, cur: any) => acc + cur, 0) as number;
133
134
 
134
- renderToolbar = (randomId: string) => {
135
+ renderToolbar = (randomId: string, generatedOuiaId?: string) => {
135
136
  const {
136
137
  hasNoPadding,
137
138
  clearAllFilters,
@@ -178,7 +179,7 @@ class Toolbar extends Component<ToolbarProps, ToolbarState> {
178
179
  className
179
180
  )}
180
181
  id={randomId}
181
- {...getOUIAProps(Toolbar.displayName, ouiaId !== undefined ? ouiaId : this.state.ouiaStateId)}
182
+ {...getOUIAProps(Toolbar.displayName, ouiaId !== undefined ? ouiaId : generatedOuiaId)}
182
183
  {...props}
183
184
  >
184
185
  <ToolbarContext.Provider
@@ -215,10 +216,10 @@ class Toolbar extends Component<ToolbarProps, ToolbarState> {
215
216
  };
216
217
 
217
218
  render() {
218
- return this.props.id ? (
219
- this.renderToolbar(this.props.id)
220
- ) : (
221
- <GenerateId>{(randomId) => this.renderToolbar(randomId)}</GenerateId>
219
+ return (
220
+ <SSRSafeIds prefix="pf-random-id-" ouiaComponentType="Toolbar">
221
+ {(generatedId, generatedOuiaId) => this.renderToolbar(this.props.id || generatedId, generatedOuiaId)}
222
+ </SSRSafeIds>
222
223
  );
223
224
  }
224
225
  }
@@ -1,7 +1,6 @@
1
1
  import { Component, RefObject } from 'react';
2
2
  import styles from '@patternfly/react-styles/css/components/Toolbar/toolbar';
3
3
  import { css } from '@patternfly/react-styles';
4
- import { canUseDOM } from '../../helpers/util';
5
4
 
6
5
  import { ToolbarItem } from './ToolbarItem';
7
6
  import { Button } from '../Button';
@@ -32,7 +31,7 @@ export interface ToolbarLabelGroupContentProps extends React.HTMLProps<HTMLDivEl
32
31
  customLabelGroupContent?: React.ReactNode;
33
32
  }
34
33
 
35
- class ToolbarLabelGroupContent extends Component<ToolbarLabelGroupContentProps> {
34
+ class ToolbarLabelGroupContent extends Component<ToolbarLabelGroupContentProps, { viewportWidth: number }> {
36
35
  static displayName = 'ToolbarLabelGroupContent';
37
36
  static defaultProps: PickOptional<ToolbarLabelGroupContentProps> = {
38
37
  clearFiltersButtonText: 'Clear all filters',
@@ -40,6 +39,23 @@ class ToolbarLabelGroupContent extends Component<ToolbarLabelGroupContentProps>
40
39
  numberOfFiltersText: (numberOfFilters: number) => `${numberOfFilters} filters applied`
41
40
  };
42
41
 
42
+ state = {
43
+ viewportWidth: 1200
44
+ };
45
+
46
+ handleResize = () => {
47
+ this.setState({ viewportWidth: window.innerWidth });
48
+ };
49
+
50
+ componentDidMount() {
51
+ this.handleResize();
52
+ window.addEventListener('resize', this.handleResize);
53
+ }
54
+
55
+ componentWillUnmount() {
56
+ window.removeEventListener('resize', this.handleResize);
57
+ }
58
+
43
59
  render() {
44
60
  const {
45
61
  className,
@@ -62,9 +78,8 @@ class ToolbarLabelGroupContent extends Component<ToolbarLabelGroupContentProps>
62
78
  let collapseListedFilters = false;
63
79
  if (collapseListedFiltersBreakpoint === 'all') {
64
80
  collapseListedFilters = true;
65
- } else if (canUseDOM) {
66
- collapseListedFilters =
67
- (canUseDOM ? window.innerWidth : 1200) < globalBreakpoints[collapseListedFiltersBreakpoint];
81
+ } else if (collapseListedFiltersBreakpoint) {
82
+ collapseListedFilters = this.state.viewportWidth < globalBreakpoints[collapseListedFiltersBreakpoint];
68
83
  }
69
84
 
70
85
  const isHidden = numberOfFilters === 0 || isExpanded;
@@ -6,7 +6,7 @@ import { ToolbarGroupProps } from './ToolbarGroup';
6
6
  import { ToolbarContext, ToolbarContentContext } from './ToolbarUtils';
7
7
  import { Button } from '../Button';
8
8
  import globalBreakpointLg from '@patternfly/react-tokens/dist/esm/t_global_breakpoint_lg';
9
- import { formatBreakpointMods, toCamel, canUseDOM } from '../../helpers/util';
9
+ import { formatBreakpointMods, toCamel } from '../../helpers/util';
10
10
  import { PageContext } from '../Page/PageContext';
11
11
  import { ToolbarExpandableContent } from './ToolbarExpandableContent';
12
12
 
@@ -157,7 +157,7 @@ class ToolbarToggleGroup extends Component<ToolbarToggleGroupProps> {
157
157
  expandableContentRef = createRef<HTMLDivElement>();
158
158
 
159
159
  isContentPopup = () => {
160
- const viewportSize = canUseDOM ? window.innerWidth : 1200;
160
+ const viewportSize = typeof window !== 'undefined' ? window.innerWidth : 1200;
161
161
  const lgBreakpointValue = parseInt(globalBreakpointLg.value);
162
162
  return viewportSize < lgBreakpointValue;
163
163
  };
@@ -4,7 +4,7 @@ exports[`Toolbar should render inset 1`] = `
4
4
  <DocumentFragment>
5
5
  <div
6
6
  class="pf-v6-c-toolbar pf-m-inset-none pf-m-inset-sm-on-md pf-m-inset-2xl-on-xl pf-m-inset-lg-on-2xl"
7
- data-ouia-component-id="OUIA-Generated-Toolbar-1"
7
+ data-ouia-component-id="OUIA-Generated-Toolbar-:r1:"
8
8
  data-ouia-component-type="PF6/Toolbar"
9
9
  data-ouia-safe="true"
10
10
  id="toolbar"
@@ -51,7 +51,7 @@ exports[`Toolbar should render with custom label content 1`] = `
51
51
  <DocumentFragment>
52
52
  <div
53
53
  class="pf-v6-c-toolbar pf-m-toggle-group-container"
54
- data-ouia-component-id="OUIA-Generated-Toolbar-4"
54
+ data-ouia-component-id="OUIA-Generated-Toolbar-:r7:"
55
55
  data-ouia-component-type="PF6/Toolbar"
56
56
  data-ouia-safe="true"
57
57
  id="toolbar-with-filter"
@@ -72,7 +72,7 @@ exports[`Toolbar should render with custom label content 1`] = `
72
72
  aria-haspopup="false"
73
73
  aria-label="Show Filters"
74
74
  class="pf-v6-c-button pf-m-plain"
75
- data-ouia-component-id="OUIA-Generated-Button-plain-1"
75
+ data-ouia-component-id="OUIA-Generated-Button-plain-:r8:"
76
76
  data-ouia-component-type="PF6/Button"
77
77
  data-ouia-safe="true"
78
78
  type="button"
@@ -144,7 +144,7 @@ exports[`Toolbar should render with custom label content 1`] = `
144
144
  <button
145
145
  aria-label="Close New"
146
146
  class="pf-v6-c-button pf-m-plain pf-m-no-padding"
147
- data-ouia-component-id="OUIA-Generated-Button-plain-2"
147
+ data-ouia-component-id="OUIA-Generated-Button-plain-:rb:"
148
148
  data-ouia-component-type="PF6/Button"
149
149
  data-ouia-safe="true"
150
150
  type="button"
@@ -203,7 +203,7 @@ exports[`Toolbar should render with custom label content 1`] = `
203
203
  <button
204
204
  aria-label="Close Pending"
205
205
  class="pf-v6-c-button pf-m-plain pf-m-no-padding"
206
- data-ouia-component-id="OUIA-Generated-Button-plain-3"
206
+ data-ouia-component-id="OUIA-Generated-Button-plain-:rc:"
207
207
  data-ouia-component-type="PF6/Button"
208
208
  data-ouia-safe="true"
209
209
  type="button"
@@ -250,7 +250,7 @@ exports[`Toolbar should render with custom label content 1`] = `
250
250
  aria-label="Close label group"
251
251
  aria-labelledby="remove_group_generated-id generated-id"
252
252
  class="pf-v6-c-button pf-m-plain pf-m-small"
253
- data-ouia-component-id="OUIA-Generated-Button-plain-4"
253
+ data-ouia-component-id="OUIA-Generated-Button-plain-:rd:"
254
254
  data-ouia-component-type="PF6/Button"
255
255
  data-ouia-safe="true"
256
256
  id="remove_group_generated-id"
@@ -303,7 +303,7 @@ exports[`Toolbar should render with custom label content 1`] = `
303
303
  >
304
304
  <button
305
305
  class="pf-v6-c-button pf-m-link pf-m-inline"
306
- data-ouia-component-id="OUIA-Generated-Button-link-1"
306
+ data-ouia-component-id="OUIA-Generated-Button-link-:r9:"
307
307
  data-ouia-component-type="PF6/Button"
308
308
  data-ouia-safe="true"
309
309
  type="button"
@@ -320,7 +320,7 @@ exports[`Toolbar should render with custom label content 1`] = `
320
320
  >
321
321
  <button
322
322
  class="pf-v6-c-button pf-m-link pf-m-inline"
323
- data-ouia-component-id="OUIA-Generated-Button-link-2"
323
+ data-ouia-component-id="OUIA-Generated-Button-link-:ra:"
324
324
  data-ouia-component-type="PF6/Button"
325
325
  data-ouia-safe="true"
326
326
  type="button"
@@ -4,6 +4,7 @@ import { css } from '@patternfly/react-styles';
4
4
  import { TooltipContent } from './TooltipContent';
5
5
  import { TooltipArrow } from './TooltipArrow';
6
6
  import { KeyTypes } from '../../helpers/constants';
7
+ import { useSSRSafeId } from '../../helpers';
7
8
  import tooltipMaxWidth from '@patternfly/react-tokens/dist/esm/c_tooltip_MaxWidth';
8
9
  import { Popper } from '../../helpers/Popper/Popper';
9
10
 
@@ -136,9 +137,6 @@ export interface TooltipProps extends Omit<React.HTMLProps<HTMLDivElement>, 'con
136
137
  animationDuration?: number;
137
138
  }
138
139
 
139
- // id for associating trigger with the content aria-describedby or aria-labelledby
140
- let pfTooltipIdCounter = 1;
141
-
142
140
  export const Tooltip: React.FunctionComponent<TooltipProps> = ({
143
141
  content: bodyContent,
144
142
  position = 'top',
@@ -157,7 +155,7 @@ export const Tooltip: React.FunctionComponent<TooltipProps> = ({
157
155
  aria = 'describedby',
158
156
  // For every initial starting position, there are 3 escape positions
159
157
  flipBehavior = ['top', 'right', 'bottom', 'left', 'top', 'right', 'bottom'],
160
- id = `pf-tooltip-${pfTooltipIdCounter++}`,
158
+ id: idProp,
161
159
  children,
162
160
  animationDuration = 300,
163
161
  triggerRef,
@@ -165,6 +163,8 @@ export const Tooltip: React.FunctionComponent<TooltipProps> = ({
165
163
  onTooltipHidden = () => {},
166
164
  ...rest
167
165
  }: TooltipProps) => {
166
+ const generatedId = useSSRSafeId('pf-tooltip-');
167
+ const id = idProp ?? generatedId;
168
168
  // could make this a prop in the future (true | false | 'toggle')
169
169
  const hideOnClick = true;
170
170
  const triggerOnMouseenter = trigger.includes('mouseenter');
@@ -210,7 +210,10 @@ export const Tooltip: React.FunctionComponent<TooltipProps> = ({
210
210
  if (!existingAria) {
211
211
  return;
212
212
  }
213
- const newAria = existingAria.replace(new RegExp(`\\b${id}\\b`, 'g'), '').trim();
213
+ const newAria = existingAria
214
+ .split(/\s+/)
215
+ .filter((token) => token !== id)
216
+ .join(' ');
214
217
  if (newAria) {
215
218
  element.setAttribute(attributeName, newAria);
216
219
  } else {
@@ -4,7 +4,7 @@ import styles from '@patternfly/react-styles/css/components/TreeView/tree-view';
4
4
  import AngleRightIcon from '@patternfly/react-icons/dist/esm/icons/angle-right-icon';
5
5
  import { TreeViewDataItem } from './TreeView';
6
6
  import { Badge } from '../Badge';
7
- import { GenerateId } from '../../helpers/GenerateId/GenerateId';
7
+ import { useSSRSafeId } from '../../helpers';
8
8
  import { useHasAnimations } from '../../helpers';
9
9
 
10
10
  export interface TreeViewCheckProps extends Omit<Partial<React.InputHTMLAttributes<HTMLInputElement>>, 'checked'> {
@@ -113,6 +113,7 @@ const TreeViewListItemBase: React.FunctionComponent<TreeViewListItemProps> = ({
113
113
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
114
114
  useMemo
115
115
  }: TreeViewListItemProps) => {
116
+ const randomId = useSSRSafeId(isSelectable ? 'selectable-id' : 'checkbox-id');
116
117
  const hasAnimations = useHasAnimations(hasAnimationsProp);
117
118
  const [internalIsExpanded, setIsExpanded] = useState(defaultExpanded);
118
119
  useEffect(() => {
@@ -243,41 +244,37 @@ const TreeViewListItemBase: React.FunctionComponent<TreeViewListItemProps> = ({
243
244
  {...(isFullyDisabled && { 'aria-disabled': true })}
244
245
  >
245
246
  <div className={css(styles.treeViewContent)}>
246
- <GenerateId prefix={isSelectable ? 'selectable-id' : 'checkbox-id'}>
247
- {(randomId) => (
248
- <Component
249
- className={css(
250
- styles.treeViewNode,
251
- isSelected && styles.modifiers.current,
252
- isDisabled && styles.modifiers.disabled
253
- )}
254
- onClick={(evt: React.MouseEvent) => {
255
- if (!hasCheckbox) {
256
- !isDisabled && onSelect && onSelect(evt, itemData, parentItem);
257
- if (!isDisabled && !isSelectable && children && evt.isDefaultPrevented() !== true) {
258
- if (internalIsExpanded) {
259
- onCollapse && onCollapse(evt, itemData, parentItem);
260
- } else {
261
- onExpand && onExpand(evt, itemData, parentItem);
262
- }
263
- setIsExpanded(!internalIsExpanded);
264
- }
265
- }
266
- }}
267
- {...(hasCheckbox && { htmlFor: randomId })}
268
- {...((hasCheckbox || (isSelectable && children)) && { id: `label-${randomId}` })}
269
- {...(Component === 'button' && { type: 'button', disabled: isDisabled })}
270
- >
271
- <span className={css(styles.treeViewNodeContainer)}>
272
- {children && renderToggle(randomId)}
273
- {hasCheckbox && renderCheck(randomId)}
274
- {icon && iconRendered}
275
- {renderNodeContent()}
276
- {badgeRendered}
277
- </span>
278
- </Component>
247
+ <Component
248
+ className={css(
249
+ styles.treeViewNode,
250
+ isSelected && styles.modifiers.current,
251
+ isDisabled && styles.modifiers.disabled
279
252
  )}
280
- </GenerateId>
253
+ onClick={(evt: React.MouseEvent) => {
254
+ if (!hasCheckbox) {
255
+ !isDisabled && onSelect && onSelect(evt, itemData, parentItem);
256
+ if (!isDisabled && !isSelectable && children && evt.isDefaultPrevented() !== true) {
257
+ if (internalIsExpanded) {
258
+ onCollapse && onCollapse(evt, itemData, parentItem);
259
+ } else {
260
+ onExpand && onExpand(evt, itemData, parentItem);
261
+ }
262
+ setIsExpanded(!internalIsExpanded);
263
+ }
264
+ }
265
+ }}
266
+ {...(hasCheckbox && { htmlFor: randomId })}
267
+ {...((hasCheckbox || (isSelectable && children)) && { id: `label-${randomId}` })}
268
+ {...(Component === 'button' && { type: 'button', disabled: isDisabled })}
269
+ >
270
+ <span className={css(styles.treeViewNodeContainer)}>
271
+ {children && renderToggle(randomId)}
272
+ {hasCheckbox && renderCheck(randomId)}
273
+ {icon && iconRendered}
274
+ {renderNodeContent()}
275
+ {badgeRendered}
276
+ </span>
277
+ </Component>
281
278
  {action && <div className={css(styles.treeViewAction)}>{action}</div>}
282
279
  </div>
283
280
  {(internalIsExpanded || hasAnimations) && clonedChildren}
@@ -359,8 +359,8 @@ test(`Renders ${styles.treeViewNode} element with for and id attributes when has
359
359
 
360
360
  const treeViewNode = screen.getByRole('treeitem').querySelector(`.${styles.treeViewNode}`);
361
361
 
362
- expect(treeViewNode).toHaveAttribute('for', expect.stringMatching(/checkbox-id\d+/));
363
- expect(treeViewNode).toHaveAttribute('id', expect.stringMatching(/label-checkbox-id\d+/));
362
+ expect(treeViewNode).toHaveAttribute('for', expect.stringMatching(/checkbox-id/));
363
+ expect(treeViewNode).toHaveAttribute('id', expect.stringMatching(/label-checkbox-id/));
364
364
  });
365
365
 
366
366
  test(`Renders ${styles.treeViewNode} element with id attribute when isSelectable and children are passed`, () => {
@@ -372,7 +372,7 @@ test(`Renders ${styles.treeViewNode} element with id attribute when isSelectable
372
372
 
373
373
  const treeViewNode = screen.getByRole('treeitem').querySelector(`.${styles.treeViewNode}`);
374
374
 
375
- expect(treeViewNode).toHaveAttribute('id', expect.stringMatching(/selectable-id\d+/));
375
+ expect(treeViewNode).toHaveAttribute('id', expect.stringMatching(/selectable-id/));
376
376
  });
377
377
 
378
378
  test(`Does not render ${styles.treeViewNode} element with additional classes by default`, () => {
@@ -1,7 +1,8 @@
1
1
  import { Component, Fragment } from 'react';
2
2
  import { TooltipPosition } from '../../../components/Tooltip';
3
3
  import { Label, LabelProps } from '../../../components/Label';
4
- import { getOUIAProps, OUIAProps, getDefaultOUIAId } from '../../../helpers';
4
+ import { getOUIAProps, OUIAProps } from '../../../helpers';
5
+ import { SSRSafeIds } from '../../../helpers/SSRSafeIds/SSRSafeIds';
5
6
 
6
7
  export interface ChipProps extends LabelProps, OUIAProps {
7
8
  /** Badge to add to the chip. The badge will be rendered after the chip text. */
@@ -77,26 +78,30 @@ class Chip extends Component<ChipProps> {
77
78
  } = this.props;
78
79
 
79
80
  return (
80
- <Label
81
- variant="outline"
82
- className={className}
83
- textMaxWidth={textMaxWidth}
84
- tooltipPosition={tooltipPosition}
85
- {...(!isReadOnly &&
86
- !isOverflowChip && {
87
- onClose: onClick,
88
- closeBtnAriaLabel: closeBtnAriaLabel ? closeBtnAriaLabel : `Close ${children}`
89
- })}
90
- {...(isOverflowChip && { onClick, variant: 'overflow' })}
91
- {...getOUIAProps(
92
- isOverflowChip ? 'OverflowChip' : Chip.displayName,
93
- ouiaId !== undefined ? ouiaId : getDefaultOUIAId(Chip.displayName)
81
+ <SSRSafeIds prefix="pf-" ouiaComponentType={Chip.displayName}>
82
+ {(_, generatedOuiaId) => (
83
+ <Label
84
+ variant="outline"
85
+ className={className}
86
+ textMaxWidth={textMaxWidth}
87
+ tooltipPosition={tooltipPosition}
88
+ {...(!isReadOnly &&
89
+ !isOverflowChip && {
90
+ onClose: onClick,
91
+ closeBtnAriaLabel: closeBtnAriaLabel ? closeBtnAriaLabel : `Close ${children}`
92
+ })}
93
+ {...(isOverflowChip && { onClick, variant: 'overflow' })}
94
+ {...getOUIAProps(
95
+ isOverflowChip ? 'OverflowChip' : Chip.displayName,
96
+ ouiaId !== undefined ? ouiaId : generatedOuiaId
97
+ )}
98
+ {...props}
99
+ >
100
+ {children}
101
+ {badge && <Fragment> {badge}</Fragment>}
102
+ </Label>
94
103
  )}
95
- {...props}
96
- >
97
- {children}
98
- {badge && <Fragment> {badge}</Fragment>}
99
- </Label>
104
+ </SSRSafeIds>
100
105
  );
101
106
  }
102
107
  }
@@ -25,7 +25,7 @@ exports[`Matches snapshot 1`] = `
25
25
  <button
26
26
  aria-label="Close Chip text"
27
27
  class="pf-v6-c-button pf-m-plain pf-m-no-padding"
28
- data-ouia-component-id="OUIA-Generated-Button-plain-17"
28
+ data-ouia-component-id="OUIA-Generated-Button-plain-:r2e:"
29
29
  data-ouia-component-type="PF6/Button"
30
30
  data-ouia-safe="true"
31
31
  type="button"