@patternfly/react-core 6.2.0-prerelease.33 → 6.2.0-prerelease.34

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 (713) hide show
  1. package/CHANGELOG.md +16 -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/FocusTrap/FocusTrap/package.json +1 -1
  91. package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
  92. package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
  93. package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
  94. package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
  95. package/dist/dynamic/helpers/constants/package.json +1 -1
  96. package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
  97. package/dist/dynamic/helpers/fileUtils/package.json +1 -1
  98. package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
  99. package/dist/dynamic/helpers/package.json +1 -1
  100. package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
  101. package/dist/dynamic/helpers/typeUtils/package.json +1 -1
  102. package/dist/dynamic/helpers/useInterval/package.json +1 -1
  103. package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
  104. package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
  105. package/dist/dynamic/helpers/util/package.json +1 -1
  106. package/dist/dynamic/layouts/Bullseye/package.json +1 -1
  107. package/dist/dynamic/layouts/Flex/package.json +1 -1
  108. package/dist/dynamic/layouts/Gallery/package.json +1 -1
  109. package/dist/dynamic/layouts/Grid/package.json +1 -1
  110. package/dist/dynamic/layouts/Level/package.json +1 -1
  111. package/dist/dynamic/layouts/Split/package.json +1 -1
  112. package/dist/dynamic/layouts/Stack/package.json +1 -1
  113. package/dist/dynamic/styles/package.json +1 -1
  114. package/dist/dynamic-modules.json +1 -0
  115. package/dist/esm/components/Alert/Alert.d.ts +3 -3
  116. package/dist/esm/components/Alert/Alert.d.ts.map +1 -1
  117. package/dist/esm/components/Alert/Alert.js +31 -5
  118. package/dist/esm/components/Alert/Alert.js.map +1 -1
  119. package/dist/esm/components/Alert/AlertActionCloseButton.d.ts.map +1 -1
  120. package/dist/esm/components/Alert/AlertActionCloseButton.js +18 -1
  121. package/dist/esm/components/Alert/AlertActionCloseButton.js.map +1 -1
  122. package/dist/esm/components/Alert/AlertGroup.d.ts +4 -0
  123. package/dist/esm/components/Alert/AlertGroup.d.ts.map +1 -1
  124. package/dist/esm/components/Alert/AlertGroup.js +3 -3
  125. package/dist/esm/components/Alert/AlertGroup.js.map +1 -1
  126. package/dist/esm/components/Alert/AlertGroupContext.d.ts +8 -0
  127. package/dist/esm/components/Alert/AlertGroupContext.d.ts.map +1 -0
  128. package/dist/esm/components/Alert/AlertGroupContext.js +6 -0
  129. package/dist/esm/components/Alert/AlertGroupContext.js.map +1 -0
  130. package/dist/esm/components/Alert/AlertGroupInline.d.ts.map +1 -1
  131. package/dist/esm/components/Alert/AlertGroupInline.js +28 -6
  132. package/dist/esm/components/Alert/AlertGroupInline.js.map +1 -1
  133. package/dist/esm/components/CalendarMonth/CalendarMonth.d.ts +2 -2
  134. package/dist/esm/components/CalendarMonth/CalendarMonth.d.ts.map +1 -1
  135. package/dist/esm/components/CalendarMonth/CalendarMonth.js.map +1 -1
  136. package/dist/esm/components/Card/Card.d.ts +2 -2
  137. package/dist/esm/components/Card/Card.d.ts.map +1 -1
  138. package/dist/esm/components/Card/Card.js.map +1 -1
  139. package/dist/esm/components/Card/CardHeader.d.ts +2 -0
  140. package/dist/esm/components/Card/CardHeader.d.ts.map +1 -1
  141. package/dist/esm/components/Card/CardHeader.js +2 -2
  142. package/dist/esm/components/Card/CardHeader.js.map +1 -1
  143. package/dist/esm/components/Card/CardTitle.d.ts +2 -2
  144. package/dist/esm/components/Card/CardTitle.d.ts.map +1 -1
  145. package/dist/esm/components/Card/CardTitle.js.map +1 -1
  146. package/dist/esm/components/ClipboardCopy/ClipboardCopy.d.ts +4 -0
  147. package/dist/esm/components/ClipboardCopy/ClipboardCopy.d.ts.map +1 -1
  148. package/dist/esm/components/ClipboardCopy/ClipboardCopy.js +15 -9
  149. package/dist/esm/components/ClipboardCopy/ClipboardCopy.js.map +1 -1
  150. package/dist/esm/components/NotificationBadge/NotificationBadge.d.ts +7 -0
  151. package/dist/esm/components/NotificationBadge/NotificationBadge.d.ts.map +1 -1
  152. package/dist/esm/components/NotificationBadge/NotificationBadge.js +21 -4
  153. package/dist/esm/components/NotificationBadge/NotificationBadge.js.map +1 -1
  154. package/dist/esm/components/Page/Page.d.ts.map +1 -1
  155. package/dist/esm/components/Page/Page.js.map +1 -1
  156. package/dist/esm/components/Page/PageSection.d.ts +2 -2
  157. package/dist/esm/components/Page/PageSection.d.ts.map +1 -1
  158. package/dist/esm/components/Page/PageSection.js.map +1 -1
  159. package/dist/esm/components/Toolbar/Toolbar.d.ts +3 -0
  160. package/dist/esm/components/Toolbar/Toolbar.d.ts.map +1 -1
  161. package/dist/esm/components/Toolbar/Toolbar.js +3 -2
  162. package/dist/esm/components/Toolbar/Toolbar.js.map +1 -1
  163. package/dist/esm/components/Truncate/Truncate.d.ts +6 -2
  164. package/dist/esm/components/Truncate/Truncate.d.ts.map +1 -1
  165. package/dist/esm/components/Truncate/Truncate.js +4 -3
  166. package/dist/esm/components/Truncate/Truncate.js.map +1 -1
  167. package/dist/esm/helpers/resizeObserver.d.ts +2 -2
  168. package/dist/esm/helpers/resizeObserver.js +2 -2
  169. package/dist/js/components/Alert/Alert.d.ts +3 -3
  170. package/dist/js/components/Alert/Alert.d.ts.map +1 -1
  171. package/dist/js/components/Alert/Alert.js +30 -4
  172. package/dist/js/components/Alert/Alert.js.map +1 -1
  173. package/dist/js/components/Alert/AlertActionCloseButton.d.ts.map +1 -1
  174. package/dist/js/components/Alert/AlertActionCloseButton.js +18 -1
  175. package/dist/js/components/Alert/AlertActionCloseButton.js.map +1 -1
  176. package/dist/js/components/Alert/AlertGroup.d.ts +4 -0
  177. package/dist/js/components/Alert/AlertGroup.d.ts.map +1 -1
  178. package/dist/js/components/Alert/AlertGroup.js +3 -3
  179. package/dist/js/components/Alert/AlertGroup.js.map +1 -1
  180. package/dist/js/components/Alert/AlertGroupContext.d.ts +8 -0
  181. package/dist/js/components/Alert/AlertGroupContext.d.ts.map +1 -0
  182. package/dist/js/components/Alert/AlertGroupContext.js +9 -0
  183. package/dist/js/components/Alert/AlertGroupContext.js.map +1 -0
  184. package/dist/js/components/Alert/AlertGroupInline.d.ts.map +1 -1
  185. package/dist/js/components/Alert/AlertGroupInline.js +27 -5
  186. package/dist/js/components/Alert/AlertGroupInline.js.map +1 -1
  187. package/dist/js/components/CalendarMonth/CalendarMonth.d.ts +2 -2
  188. package/dist/js/components/CalendarMonth/CalendarMonth.d.ts.map +1 -1
  189. package/dist/js/components/CalendarMonth/CalendarMonth.js.map +1 -1
  190. package/dist/js/components/Card/Card.d.ts +2 -2
  191. package/dist/js/components/Card/Card.d.ts.map +1 -1
  192. package/dist/js/components/Card/Card.js.map +1 -1
  193. package/dist/js/components/Card/CardHeader.d.ts +2 -0
  194. package/dist/js/components/Card/CardHeader.d.ts.map +1 -1
  195. package/dist/js/components/Card/CardHeader.js +2 -2
  196. package/dist/js/components/Card/CardHeader.js.map +1 -1
  197. package/dist/js/components/Card/CardTitle.d.ts +2 -2
  198. package/dist/js/components/Card/CardTitle.d.ts.map +1 -1
  199. package/dist/js/components/Card/CardTitle.js.map +1 -1
  200. package/dist/js/components/ClipboardCopy/ClipboardCopy.d.ts +4 -0
  201. package/dist/js/components/ClipboardCopy/ClipboardCopy.d.ts.map +1 -1
  202. package/dist/js/components/ClipboardCopy/ClipboardCopy.js +14 -8
  203. package/dist/js/components/ClipboardCopy/ClipboardCopy.js.map +1 -1
  204. package/dist/js/components/NotificationBadge/NotificationBadge.d.ts +7 -0
  205. package/dist/js/components/NotificationBadge/NotificationBadge.d.ts.map +1 -1
  206. package/dist/js/components/NotificationBadge/NotificationBadge.js +21 -4
  207. package/dist/js/components/NotificationBadge/NotificationBadge.js.map +1 -1
  208. package/dist/js/components/Page/Page.d.ts.map +1 -1
  209. package/dist/js/components/Page/Page.js.map +1 -1
  210. package/dist/js/components/Page/PageSection.d.ts +2 -2
  211. package/dist/js/components/Page/PageSection.d.ts.map +1 -1
  212. package/dist/js/components/Page/PageSection.js.map +1 -1
  213. package/dist/js/components/Toolbar/Toolbar.d.ts +3 -0
  214. package/dist/js/components/Toolbar/Toolbar.d.ts.map +1 -1
  215. package/dist/js/components/Toolbar/Toolbar.js +3 -2
  216. package/dist/js/components/Toolbar/Toolbar.js.map +1 -1
  217. package/dist/js/components/Truncate/Truncate.d.ts +6 -2
  218. package/dist/js/components/Truncate/Truncate.d.ts.map +1 -1
  219. package/dist/js/components/Truncate/Truncate.js +4 -3
  220. package/dist/js/components/Truncate/Truncate.js.map +1 -1
  221. package/dist/js/helpers/resizeObserver.d.ts +2 -2
  222. package/dist/js/helpers/resizeObserver.js +2 -2
  223. package/dist/umd/assets/{output-CL2wZaU8.css → output-DwKAaf_N.css} +19297 -19158
  224. package/dist/umd/react-core.min.js +3 -3
  225. package/helpers/package.json +1 -1
  226. package/layouts/package.json +1 -1
  227. package/next/package.json +1 -1
  228. package/package.json +6 -6
  229. package/src/components/Accordion/examples/Accordion.md +1 -0
  230. package/src/components/Accordion/examples/AccordionBordered.tsx +3 -2
  231. package/src/components/Accordion/examples/AccordionDefinitionList.tsx +2 -1
  232. package/src/components/Accordion/examples/AccordionFixedWithMultipleExpandBehavior.tsx +2 -1
  233. package/src/components/Accordion/examples/AccordionSingleExpandBehavior.tsx +2 -1
  234. package/src/components/Accordion/examples/AccordionToggleIconAtStart.tsx +2 -1
  235. package/src/components/ActionList/examples/ActionList.md +1 -1
  236. package/src/components/ActionList/examples/ActionListSingleGroup.tsx +2 -2
  237. package/src/components/Alert/Alert.tsx +36 -7
  238. package/src/components/Alert/AlertActionCloseButton.tsx +34 -14
  239. package/src/components/Alert/AlertGroup.tsx +6 -0
  240. package/src/components/Alert/AlertGroupContext.tsx +11 -0
  241. package/src/components/Alert/AlertGroupInline.tsx +61 -22
  242. package/src/components/Alert/__tests__/AlertActionCloseButton.test.tsx +20 -2
  243. package/src/components/Alert/__tests__/AlertGroup.test.tsx +48 -5
  244. package/src/components/Alert/examples/Alert.md +42 -33
  245. package/src/components/Alert/examples/AlertAsyncLiveRegion.tsx +5 -5
  246. package/src/components/Alert/examples/AlertDynamicLiveRegion.tsx +1 -1
  247. package/src/components/Alert/examples/AlertGroupAsync.tsx +5 -5
  248. package/src/components/Alert/examples/AlertGroupMultipleDynamic.tsx +3 -3
  249. package/src/components/Alert/examples/AlertGroupSingularDynamic.tsx +3 -3
  250. package/src/components/Alert/examples/AlertGroupSingularDynamicOverflow.tsx +4 -4
  251. package/src/components/Alert/examples/AlertGroupToast.tsx +3 -3
  252. package/src/components/Alert/examples/AlertGroupToastOverflowCapture.tsx +4 -4
  253. package/src/components/Breadcrumb/examples/Breadcrumb.md +1 -0
  254. package/src/components/Breadcrumb/examples/BreadcrumbDropdown.tsx +3 -2
  255. package/src/components/Button/examples/Button.md +1 -1
  256. package/src/components/Button/examples/ButtonProgress.tsx +5 -4
  257. package/src/components/CalendarMonth/CalendarMonth.tsx +2 -2
  258. package/src/components/CalendarMonth/examples/CalendarMonth.md +1 -0
  259. package/src/components/CalendarMonth/examples/CalendarMonthSelectableDate.tsx +2 -1
  260. package/src/components/Card/Card.tsx +2 -2
  261. package/src/components/Card/CardHeader.tsx +9 -1
  262. package/src/components/Card/CardTitle.tsx +2 -2
  263. package/src/components/Card/__tests__/Card.test.tsx +1 -3
  264. package/src/components/Card/__tests__/CardBody.test.tsx +1 -2
  265. package/src/components/Card/__tests__/CardFooter.test.tsx +1 -2
  266. package/src/components/Card/__tests__/CardHeader.test.tsx +14 -0
  267. package/src/components/Card/examples/Card.md +1 -1
  268. package/src/components/Card/examples/CardClickable.tsx +2 -1
  269. package/src/components/Card/examples/CardClickableSelectable.tsx +6 -5
  270. package/src/components/Card/examples/CardExpandable.tsx +5 -5
  271. package/src/components/Card/examples/CardExpandableWithIcon.tsx +4 -3
  272. package/src/components/Card/examples/CardHeaderInCardHead.tsx +3 -2
  273. package/src/components/Card/examples/CardOnlyActionsInCardHead.tsx +3 -2
  274. package/src/components/Card/examples/CardSelectable.tsx +5 -4
  275. package/src/components/Card/examples/CardSingleSelectable.tsx +2 -1
  276. package/src/components/Card/examples/CardTile.tsx +2 -1
  277. package/src/components/Card/examples/CardTileMulti.tsx +4 -3
  278. package/src/components/Card/examples/CardWithImageAndActions.tsx +4 -3
  279. package/src/components/Card/examples/CardWithModifiers.tsx +2 -2
  280. package/src/components/Checkbox/examples/Checkbox.md +1 -1
  281. package/src/components/Checkbox/examples/CheckboxControlled.tsx +7 -7
  282. package/src/components/ClipboardCopy/ClipboardCopy.tsx +35 -12
  283. package/src/components/ClipboardCopy/__tests__/ClipboardCopy.test.tsx +187 -1
  284. package/src/components/ClipboardCopy/__tests__/__snapshots__/ClipboardCopy.test.tsx.snap +1 -1
  285. package/src/components/ClipboardCopy/examples/ClipboardCopy.md +7 -0
  286. package/src/components/ClipboardCopy/examples/ClipboardCopyInlineCompactTruncation.tsx +15 -0
  287. package/src/components/DescriptionList/examples/DescriptionList.md +1 -0
  288. package/src/components/DescriptionList/examples/DescriptionListWithCard.tsx +3 -2
  289. package/src/components/DescriptionList/examples/DescriptionListWithLargeDisplaySize.tsx +3 -2
  290. package/src/components/DescriptionList/examples/DescriptionListWithLargeDisplaySizeAndCard.tsx +3 -2
  291. package/src/components/Dropdown/examples/Dropdown.md +1 -0
  292. package/src/components/Dropdown/examples/DropdownBasic.tsx +2 -1
  293. package/src/components/Dropdown/examples/DropdownWithDescriptions.tsx +2 -1
  294. package/src/components/Dropdown/examples/DropdownWithGroups.tsx +2 -1
  295. package/src/components/Dropdown/examples/DropdownWithKebabToggle.tsx +2 -1
  296. package/src/components/EmptyState/examples/EmptyState.md +2 -0
  297. package/src/components/EmptyState/examples/EmptyStateWithStatus.tsx +2 -1
  298. package/src/components/ExpandableSection/examples/ExpandableSectionBasic.tsx +2 -1
  299. package/src/components/ExpandableSection/examples/ExpandableSectionCustomToggle.tsx +2 -1
  300. package/src/components/ExpandableSection/examples/ExpandableSectionDetached.tsx +2 -1
  301. package/src/components/ExpandableSection/examples/ExpandableSectionDisclosure.tsx +2 -1
  302. package/src/components/ExpandableSection/examples/ExpandableSectionTruncateExpansion.tsx +2 -1
  303. package/src/components/FileUpload/examples/FileUpload.md +1 -0
  304. package/src/components/FileUpload/examples/FileUploadCustomPreview.tsx +3 -2
  305. package/src/components/FileUpload/examples/FileUploadCustomUpload.tsx +12 -11
  306. package/src/components/FileUpload/examples/FileUploadSimpleFile.tsx +3 -2
  307. package/src/components/FileUpload/examples/FileUploadSimpleText.tsx +4 -3
  308. package/src/components/FileUpload/examples/FileUploadTextWithEdits.tsx +4 -3
  309. package/src/components/FileUpload/examples/FileUploadTextWithRestrictions.tsx +6 -5
  310. package/src/components/FileUpload/examples/FileUploadWithHelperText.tsx +4 -3
  311. package/src/components/FormSelect/examples/FormSelect.md +1 -0
  312. package/src/components/FormSelect/examples/FormSelectBasic.tsx +2 -1
  313. package/src/components/FormSelect/examples/FormSelectDisabled.tsx +2 -1
  314. package/src/components/FormSelect/examples/FormSelectGrouped.tsx +2 -1
  315. package/src/components/FormSelect/examples/FormSelectValidated.tsx +4 -3
  316. package/src/components/Hint/examples/Hint.md +1 -1
  317. package/src/components/Hint/examples/HintActionsWithNoOffset.tsx +2 -1
  318. package/src/components/Hint/examples/HintBasicWithTitle.tsx +2 -1
  319. package/src/components/Hint/examples/HintBasicWithoutTitle.tsx +2 -2
  320. package/src/components/Icon/examples/Icon.md +1 -1
  321. package/src/components/Icon/examples/IconCustomProgress.tsx +2 -2
  322. package/src/components/Icon/examples/IconProgress.tsx +2 -2
  323. package/src/components/InputGroup/examples/InputGroup.md +1 -1
  324. package/src/components/InputGroup/examples/InputGroupWithDropdown.tsx +2 -2
  325. package/src/components/InputGroup/examples/InputGroupWithPopover.tsx +3 -3
  326. package/src/components/Label/examples/Label.md +1 -1
  327. package/src/components/Label/examples/LabelEditable.tsx +3 -3
  328. package/src/components/Label/examples/LabelGroupCategoryRemovable.tsx +2 -1
  329. package/src/components/Label/examples/LabelGroupEditableAdd.tsx +3 -2
  330. package/src/components/Label/examples/LabelGroupEditableAddDropdown.tsx +8 -7
  331. package/src/components/Label/examples/LabelGroupEditableAddModal.tsx +21 -20
  332. package/src/components/Label/examples/LabelGroupEditableLabels.tsx +4 -3
  333. package/src/components/Label/examples/LabelGroupVerticalCategoryOverflowRemovable.tsx +2 -1
  334. package/src/components/LoginPage/examples/LoginPage.md +1 -1
  335. package/src/components/LoginPage/examples/LoginPageBasic.tsx +7 -7
  336. package/src/components/LoginPage/examples/LoginPageLanguageSelect.tsx +9 -9
  337. package/src/components/LoginPage/examples/LoginPageShowHidePassword.tsx +7 -7
  338. package/src/components/Menu/examples/Menu.md +1 -1
  339. package/src/components/Menu/examples/MenuBasic.tsx +3 -3
  340. package/src/components/Menu/examples/MenuDangerMenuItem.tsx +2 -1
  341. package/src/components/Menu/examples/MenuFilterDrilldown.tsx +7 -6
  342. package/src/components/Menu/examples/MenuFilteringWithSearchInput.tsx +3 -2
  343. package/src/components/Menu/examples/MenuOptionMultiSelect.tsx +2 -1
  344. package/src/components/Menu/examples/MenuOptionSingleSelect.tsx +3 -2
  345. package/src/components/Menu/examples/MenuScrollable.tsx +2 -1
  346. package/src/components/Menu/examples/MenuScrollableCustomMenuHeight.tsx +2 -1
  347. package/src/components/Menu/examples/MenuWithActions.tsx +2 -1
  348. package/src/components/Menu/examples/MenuWithCheckbox.tsx +2 -1
  349. package/src/components/Menu/examples/MenuWithDescription.tsx +2 -1
  350. package/src/components/Menu/examples/MenuWithDrilldown.tsx +5 -4
  351. package/src/components/Menu/examples/MenuWithDrilldownBreadcrumbs.tsx +3 -3
  352. package/src/components/Menu/examples/MenuWithDrilldownInitialState.tsx +5 -4
  353. package/src/components/Menu/examples/MenuWithDrilldownSubmenuFunctions.tsx +5 -4
  354. package/src/components/Menu/examples/MenuWithFavorites.tsx +3 -3
  355. package/src/components/Menu/examples/MenuWithFooter.tsx +2 -1
  356. package/src/components/Menu/examples/MenuWithIcons.tsx +2 -1
  357. package/src/components/Menu/examples/MenuWithLinks.tsx +2 -1
  358. package/src/components/Menu/examples/MenuWithSeparators.tsx +2 -1
  359. package/src/components/Menu/examples/MenuWithTitledGroups.tsx +2 -1
  360. package/src/components/Menu/examples/MenuWithViewMore.tsx +9 -8
  361. package/src/components/MenuToggle/examples/MenuToggle.md +19 -13
  362. package/src/components/MenuToggle/examples/MenuToggleTypeahead.tsx +2 -1
  363. package/src/components/Modal/examples/Modal.md +1 -1
  364. package/src/components/Modal/examples/ModalBasic.tsx +2 -2
  365. package/src/components/Modal/examples/ModalCustomFocus.tsx +2 -2
  366. package/src/components/Modal/examples/ModalCustomHeader.tsx +2 -2
  367. package/src/components/Modal/examples/ModalCustomTitleIcon.tsx +2 -2
  368. package/src/components/Modal/examples/ModalCustomWidth.tsx +2 -2
  369. package/src/components/Modal/examples/ModalNoHeaderFooter.tsx +2 -2
  370. package/src/components/Modal/examples/ModalSize.tsx +3 -3
  371. package/src/components/Modal/examples/ModalTitleIcon.tsx +2 -2
  372. package/src/components/Modal/examples/ModalTopAligned.tsx +2 -2
  373. package/src/components/Modal/examples/ModalWithDescription.tsx +2 -2
  374. package/src/components/Modal/examples/ModalWithDropdown.tsx +3 -3
  375. package/src/components/Modal/examples/ModalWithForm.tsx +8 -8
  376. package/src/components/Modal/examples/ModalWithHelp.tsx +2 -2
  377. package/src/components/Modal/examples/ModalWithOverflowingContent.tsx +2 -2
  378. package/src/components/Modal/examples/ModalWithWizard.tsx +2 -2
  379. package/src/components/MultipleFileUpload/examples/MultipleFileUpload.md +1 -0
  380. package/src/components/MultipleFileUpload/examples/MultipleFileUploadBasic.tsx +8 -7
  381. package/src/components/Nav/examples/Nav.md +1 -0
  382. package/src/components/Nav/examples/NavDefault.tsx +2 -1
  383. package/src/components/Nav/examples/NavDrilldown.tsx +2 -4
  384. package/src/components/Nav/examples/NavExpandable.tsx +3 -2
  385. package/src/components/Nav/examples/NavExpandableThirdLevel.tsx +3 -2
  386. package/src/components/Nav/examples/NavFlyout.tsx +2 -1
  387. package/src/components/Nav/examples/NavGrouped.tsx +2 -1
  388. package/src/components/Nav/examples/NavHorizontalNav.tsx +2 -1
  389. package/src/components/Nav/examples/NavHorizontalSubNav.tsx +2 -1
  390. package/src/components/Nav/examples/NavIcons.tsx +2 -1
  391. package/src/components/Nav/examples/NavMixed.tsx +3 -2
  392. package/src/components/NotificationBadge/NotificationBadge.tsx +34 -6
  393. package/src/components/NotificationBadge/__tests__/NotificationBadge.test.tsx +18 -3
  394. package/src/components/NotificationBadge/__tests__/__snapshots__/NotificationBadge.test.tsx.snap +34 -0
  395. package/src/components/NotificationBadge/examples/NotificationBadge.md +9 -1
  396. package/src/components/NotificationBadge/examples/NotificationBadgeBasic.tsx +4 -3
  397. package/src/components/NotificationBadge/examples/NotificationBadgeWithAnimation.tsx +48 -0
  398. package/src/components/NotificationBadge/examples/NotificationBadgeWithCount.tsx +4 -3
  399. package/src/components/NotificationDrawer/examples/NotificationDrawer.md +1 -0
  400. package/src/components/NotificationDrawer/examples/NotificationDrawerBasic.tsx +2 -1
  401. package/src/components/NotificationDrawer/examples/NotificationDrawerGroups.tsx +5 -4
  402. package/src/components/NotificationDrawer/examples/NotificationDrawerLightweight.tsx +4 -3
  403. package/src/components/NumberInput/examples/NumberInput.md +1 -1
  404. package/src/components/NumberInput/examples/NumberInputCustomStep.tsx +2 -1
  405. package/src/components/NumberInput/examples/NumberInputCustomStepAndThreshold.tsx +2 -1
  406. package/src/components/NumberInput/examples/NumberInputDefault.tsx +2 -1
  407. package/src/components/NumberInput/examples/NumberInputDisabled.tsx +2 -1
  408. package/src/components/NumberInput/examples/NumberInputUnit.tsx +3 -3
  409. package/src/components/NumberInput/examples/NumberInputUnitThreshold.tsx +2 -2
  410. package/src/components/NumberInput/examples/NumberInputVaryingSizes.tsx +5 -5
  411. package/src/components/NumberInput/examples/NumberInputWithStatus.tsx +3 -2
  412. package/src/components/OverflowMenu/examples/OverflowMenu.md +1 -0
  413. package/src/components/OverflowMenu/examples/OverflowMenuBreakpointOnContainer.tsx +4 -3
  414. package/src/components/OverflowMenu/examples/OverflowMenuGroupTypes.tsx +2 -1
  415. package/src/components/OverflowMenu/examples/OverflowMenuMultiGroup.tsx +2 -1
  416. package/src/components/OverflowMenu/examples/OverflowMenuPersistent.tsx +2 -1
  417. package/src/components/OverflowMenu/examples/OverflowMenuSimple.tsx +2 -1
  418. package/src/components/Page/Page.tsx +2 -2
  419. package/src/components/Page/PageSection.tsx +2 -2
  420. package/src/components/Page/examples/Page.md +1 -0
  421. package/src/components/Page/examples/PageCenteredSection.tsx +2 -1
  422. package/src/components/Page/examples/PageGroupSection.tsx +2 -1
  423. package/src/components/Page/examples/PageMainSectionPadding.tsx +2 -1
  424. package/src/components/Page/examples/PageMainSectionVariations.tsx +2 -1
  425. package/src/components/Page/examples/PageMultipleSidebarBody.tsx +2 -1
  426. package/src/components/Page/examples/PageVerticalNav.tsx +2 -1
  427. package/src/components/Page/examples/PageWithOrWithoutFill.tsx +2 -1
  428. package/src/components/Pagination/examples/Pagination.md +1 -1
  429. package/src/components/Pagination/examples/PaginationBottom.tsx +3 -2
  430. package/src/components/Pagination/examples/PaginationCompact.tsx +3 -2
  431. package/src/components/Pagination/examples/PaginationDisabled.tsx +3 -2
  432. package/src/components/Pagination/examples/PaginationIndeterminate.tsx +3 -3
  433. package/src/components/Pagination/examples/PaginationInset.tsx +3 -2
  434. package/src/components/Pagination/examples/PaginationNoItems.tsx +3 -2
  435. package/src/components/Pagination/examples/PaginationOffset.tsx +3 -2
  436. package/src/components/Pagination/examples/PaginationOnePage.tsx +3 -2
  437. package/src/components/Pagination/examples/PaginationSticky.tsx +4 -4
  438. package/src/components/Pagination/examples/PaginationTop.tsx +3 -2
  439. package/src/components/Popover/examples/Popover.md +1 -0
  440. package/src/components/Popover/examples/PopoverAdvanced.tsx +4 -3
  441. package/src/components/Popover/examples/PopoverAlert.tsx +2 -1
  442. package/src/components/Popover/examples/PopoverCloseControlled.tsx +2 -1
  443. package/src/components/Popover/examples/PopoverReactRef.tsx +2 -1
  444. package/src/components/Progress/examples/Progress.md +2 -0
  445. package/src/components/Progress/examples/ProgressHelperText.tsx +2 -1
  446. package/src/components/ProgressStepper/examples/ProgressStepper.md +1 -1
  447. package/src/components/ProgressStepper/examples/ProgressStepperBasicWithAlignment.tsx +3 -3
  448. package/src/components/ProgressStepper/examples/ProgressStepperCompact.tsx +3 -3
  449. package/src/components/Radio/examples/Radio.md +1 -1
  450. package/src/components/Radio/examples/RadioControlled.tsx +2 -2
  451. package/src/components/SearchInput/examples/SearchInput.md +1 -0
  452. package/src/components/SearchInput/examples/SearchInputAdvanced.tsx +4 -3
  453. package/src/components/SearchInput/examples/SearchInputBasic.tsx +2 -1
  454. package/src/components/SearchInput/examples/SearchInputFocusSearch.tsx +3 -2
  455. package/src/components/SearchInput/examples/SearchInputWithExpandable.tsx +3 -2
  456. package/src/components/SearchInput/examples/SearchInputWithNavigableOptions.tsx +4 -3
  457. package/src/components/SearchInput/examples/SearchInputWithResultCount.tsx +3 -2
  458. package/src/components/SearchInput/examples/SearchInputWithSubmitButton.tsx +2 -1
  459. package/src/components/Select/examples/Select.md +1 -1
  460. package/src/components/Select/examples/SelectBasic.tsx +4 -4
  461. package/src/components/Select/examples/SelectCheckbox.tsx +3 -2
  462. package/src/components/Select/examples/SelectFooter.tsx +3 -2
  463. package/src/components/Select/examples/SelectGrouped.tsx +3 -2
  464. package/src/components/Select/examples/SelectMultiTypeahead.tsx +9 -8
  465. package/src/components/Select/examples/SelectMultiTypeaheadCheckbox.tsx +11 -10
  466. package/src/components/Select/examples/SelectMultiTypeaheadCreatable.tsx +10 -9
  467. package/src/components/Select/examples/SelectOptionVariations.tsx +3 -2
  468. package/src/components/Select/examples/SelectTypeahead.tsx +10 -9
  469. package/src/components/Select/examples/SelectTypeaheadCreatable.tsx +10 -9
  470. package/src/components/Select/examples/SelectValidated.tsx +4 -4
  471. package/src/components/Select/examples/SelectViewMore.tsx +12 -11
  472. package/src/components/SimpleList/examples/SimpleList.md +1 -0
  473. package/src/components/SimpleList/examples/SimpleListUncontrolled.tsx +2 -1
  474. package/src/components/Slider/examples/Slider.md +1 -0
  475. package/src/components/Slider/examples/SliderActions.tsx +5 -4
  476. package/src/components/Slider/examples/SliderContinuous.tsx +4 -3
  477. package/src/components/Slider/examples/SliderDisabled.tsx +2 -1
  478. package/src/components/Slider/examples/SliderDiscrete.tsx +2 -1
  479. package/src/components/Slider/examples/SliderThumbValueInput.tsx +3 -2
  480. package/src/components/Slider/examples/SliderValueInput.tsx +7 -6
  481. package/src/components/Switch/examples/Switch.md +1 -1
  482. package/src/components/Switch/examples/SwitchBasic.tsx +2 -1
  483. package/src/components/Switch/examples/SwitchCheckedWithLabel.tsx +2 -1
  484. package/src/components/Switch/examples/SwitchReversed.tsx +2 -1
  485. package/src/components/Switch/examples/SwitchWithoutLabel.tsx +2 -1
  486. package/src/components/Tabs/examples/Tabs.md +2 -2
  487. package/src/components/Tabs/examples/TabsBoxSecondary.tsx +3 -2
  488. package/src/components/Tabs/examples/TabsChildrenMounting.tsx +2 -1
  489. package/src/components/Tabs/examples/TabsContentWithBodyPadding.tsx +5 -5
  490. package/src/components/Tabs/examples/TabsDefault.tsx +3 -2
  491. package/src/components/Tabs/examples/TabsDefaultOverflow.tsx +3 -2
  492. package/src/components/Tabs/examples/TabsDynamic.tsx +7 -6
  493. package/src/components/Tabs/examples/TabsFilled.tsx +3 -2
  494. package/src/components/Tabs/examples/TabsFilledWithIcons.tsx +3 -2
  495. package/src/components/Tabs/examples/TabsHelp.tsx +3 -2
  496. package/src/components/Tabs/examples/TabsHelpAndClose.tsx +7 -6
  497. package/src/components/Tabs/examples/TabsHorizontalOverflow.tsx +3 -2
  498. package/src/components/Tabs/examples/TabsIconAndText.tsx +2 -1
  499. package/src/components/Tabs/examples/TabsInset.tsx +3 -2
  500. package/src/components/Tabs/examples/TabsNav.tsx +2 -1
  501. package/src/components/Tabs/examples/TabsNavSubtab.tsx +3 -2
  502. package/src/components/Tabs/examples/TabsPageInsets.tsx +3 -2
  503. package/src/components/Tabs/examples/TabsSeparateContent.tsx +5 -5
  504. package/src/components/Tabs/examples/TabsSubtabs.tsx +4 -3
  505. package/src/components/Tabs/examples/TabsToggledSeparateContent.tsx +6 -6
  506. package/src/components/Tabs/examples/TabsTooltipReactRef.tsx +4 -3
  507. package/src/components/Tabs/examples/TabsUnmountingInvisibleChildren.tsx +2 -1
  508. package/src/components/Tabs/examples/TabsVertical.tsx +3 -2
  509. package/src/components/Tabs/examples/TabsVerticalExpandable.tsx +3 -2
  510. package/src/components/Tabs/examples/TabsVerticalExpandableUncontrolled.tsx +2 -1
  511. package/src/components/TextArea/examples/TextArea.md +1 -1
  512. package/src/components/TextArea/examples/TextAreaAutoResizing.tsx +2 -1
  513. package/src/components/TextArea/examples/TextAreaBasic.tsx +2 -1
  514. package/src/components/TextArea/examples/TextAreaHorizontallyResizable.tsx +2 -1
  515. package/src/components/TextArea/examples/TextAreaInvalid.tsx +2 -1
  516. package/src/components/TextArea/examples/TextAreaReadOnly.tsx +2 -2
  517. package/src/components/TextArea/examples/TextAreaResizableNone.tsx +2 -1
  518. package/src/components/TextArea/examples/TextAreaValidated.tsx +5 -4
  519. package/src/components/TextArea/examples/TextAreaVerticallyResizable.tsx +2 -1
  520. package/src/components/TextInput/examples/TextInput.md +1 -0
  521. package/src/components/TextInput/examples/TextInputBasic.tsx +2 -1
  522. package/src/components/TextInput/examples/TextInputCustomIcon.tsx +3 -2
  523. package/src/components/TextInput/examples/TextInputCustomIconInvalid.tsx +2 -1
  524. package/src/components/TextInput/examples/TextInputInvalid.tsx +2 -1
  525. package/src/components/TextInput/examples/TextInputReadOnly.tsx +2 -1
  526. package/src/components/TextInput/examples/TextInputSelectUsingRef.tsx +3 -2
  527. package/src/components/TextInput/examples/TextInputStartTruncated.tsx +2 -1
  528. package/src/components/TextInputGroup/examples/TextInputGroup.md +1 -0
  529. package/src/components/TextInputGroup/examples/TextInputGroupBasic.tsx +2 -1
  530. package/src/components/TextInputGroup/examples/TextInputGroupFilters.tsx +3 -2
  531. package/src/components/TextInputGroup/examples/TextInputGroupUtilitiesAndIcon.tsx +2 -1
  532. package/src/components/TextInputGroup/examples/TextInputGroupWithStatus.tsx +4 -5
  533. package/src/components/ToggleGroup/examples/ToggleGroup.md +1 -0
  534. package/src/components/ToggleGroup/examples/ToggleGroupCompact.tsx +2 -1
  535. package/src/components/ToggleGroup/examples/ToggleGroupDefaultMultiple.tsx +3 -2
  536. package/src/components/ToggleGroup/examples/ToggleGroupDefaultSingle.tsx +2 -1
  537. package/src/components/ToggleGroup/examples/ToggleGroupIcon.tsx +2 -1
  538. package/src/components/ToggleGroup/examples/ToggleGroupTextIcon.tsx +2 -1
  539. package/src/components/Toolbar/Toolbar.tsx +5 -0
  540. package/src/components/Toolbar/__tests__/Toolbar.test.tsx +29 -0
  541. package/src/components/Toolbar/__tests__/__snapshots__/Toolbar.test.tsx.snap +1 -1
  542. package/src/components/Toolbar/examples/Toolbar.md +1 -1
  543. package/src/components/Toolbar/examples/ToolbarComponentManagedToggleGroups.tsx +6 -6
  544. package/src/components/Toolbar/examples/ToolbarConsumerManagedToggleGroups.tsx +7 -7
  545. package/src/components/Toolbar/examples/ToolbarCustomLabelGroupContent.tsx +4 -4
  546. package/src/components/Toolbar/examples/ToolbarGroups.tsx +7 -7
  547. package/src/components/Toolbar/examples/ToolbarStacked.tsx +9 -9
  548. package/src/components/Toolbar/examples/ToolbarSticky.tsx +3 -3
  549. package/src/components/Toolbar/examples/ToolbarWithFilters.tsx +6 -6
  550. package/src/components/Tooltip/examples/Tooltip.md +1 -0
  551. package/src/components/Tooltip/examples/TooltipIcon.tsx +2 -1
  552. package/src/components/Tooltip/examples/TooltipOptions.tsx +14 -13
  553. package/src/components/Tooltip/examples/TooltipReactRef.tsx +2 -1
  554. package/src/components/TreeView/examples/TreeView.md +1 -1
  555. package/src/components/TreeView/examples/TreeViewMultiselectable.tsx +2 -1
  556. package/src/components/TreeView/examples/TreeViewSelectionExpansion.tsx +2 -1
  557. package/src/components/TreeView/examples/TreeViewSingleSelectable.tsx +3 -3
  558. package/src/components/TreeView/examples/TreeViewWithActionItems.tsx +3 -2
  559. package/src/components/TreeView/examples/TreeViewWithBadges.tsx +2 -1
  560. package/src/components/TreeView/examples/TreeViewWithCheckboxes.tsx +3 -2
  561. package/src/components/TreeView/examples/TreeViewWithCustomBadges.tsx +2 -1
  562. package/src/components/TreeView/examples/TreeViewWithIconPerItem.tsx +2 -1
  563. package/src/components/TreeView/examples/TreeViewWithIcons.tsx +2 -1
  564. package/src/components/TreeView/examples/TreeViewWithMemoization.tsx +3 -3
  565. package/src/components/TreeView/examples/TreeViewWithSearch.tsx +4 -3
  566. package/src/components/Truncate/Truncate.tsx +12 -3
  567. package/src/components/Wizard/examples/Wizard.md +1 -0
  568. package/src/components/Wizard/examples/WizardEnabledOnFormValidation.tsx +3 -2
  569. package/src/components/Wizard/examples/WizardGetCurrentStep.tsx +2 -1
  570. package/src/components/Wizard/examples/WizardStepDrawerContent.tsx +3 -2
  571. package/src/components/Wizard/examples/WizardStepStatus.tsx +5 -4
  572. package/src/components/Wizard/examples/WizardToggleStepVisibility.tsx +4 -3
  573. package/src/components/Wizard/examples/WizardValidateOnButtonPress.tsx +8 -7
  574. package/src/components/Wizard/examples/WizardWithCustomFooter.tsx +3 -2
  575. package/src/components/Wizard/examples/WizardWithSubmitProgress.tsx +5 -4
  576. package/src/components/Wizard/examples/WizardWithinModal.tsx +2 -1
  577. package/src/demos/AlertGroup.md +1 -1
  578. package/src/demos/BackToTop.md +1 -0
  579. package/src/demos/Button.md +3 -1
  580. package/src/demos/CustomMenus/ApplicationLauncher.md +2 -0
  581. package/src/demos/CustomMenus/ContextSelector.md +1 -0
  582. package/src/demos/CustomMenus/CustomMenus.md +2 -0
  583. package/src/demos/CustomMenus/OptionsMenu.md +1 -0
  584. package/src/demos/CustomMenus/examples/ActionsMenuDemo.tsx +4 -3
  585. package/src/demos/CustomMenus/examples/ApplicationLauncherDemo.tsx +9 -9
  586. package/src/demos/CustomMenus/examples/ContextSelectorDemo.tsx +7 -6
  587. package/src/demos/CustomMenus/examples/DateSelectDemo.tsx +4 -3
  588. package/src/demos/CustomMenus/examples/DrilldownMenuDemo.tsx +8 -7
  589. package/src/demos/CustomMenus/examples/FavoritesDemo.tsx +2 -2
  590. package/src/demos/CustomMenus/examples/FlyoutDemo.tsx +4 -3
  591. package/src/demos/CustomMenus/examples/InlineSearchFilterMenuDemo.tsx +6 -5
  592. package/src/demos/CustomMenus/examples/OptionsMenuDemo.tsx +4 -3
  593. package/src/demos/CustomMenus/examples/TreeViewMenuDemo.tsx +5 -4
  594. package/src/demos/DataList/examples/DataListActionable.tsx +3 -2
  595. package/src/demos/DataList/examples/DataListExpandableControlInToolbar.tsx +6 -6
  596. package/src/demos/DataList/examples/DataListStaticBottomPagination.tsx +4 -4
  597. package/src/demos/DataListDemo.md +2 -0
  598. package/src/demos/DatePicker/DatePicker.md +3 -2
  599. package/src/demos/DateTimePicker.md +4 -2
  600. package/src/demos/DescriptionList/DescriptionList.md +1 -0
  601. package/src/demos/DescriptionList/examples/DescriptionListInDrawer.tsx +4 -3
  602. package/src/demos/ExpandableSection/ExpandableSection.md +2 -0
  603. package/src/demos/ExpandableSection/examples/ExpandableTextDemo.tsx +2 -1
  604. package/src/demos/Filters/FilterDemos.md +1 -1
  605. package/src/demos/Filters/examples/FilterAttributeSearch.tsx +29 -29
  606. package/src/demos/Filters/examples/FilterCheckboxSelect.tsx +16 -16
  607. package/src/demos/Filters/examples/FilterFaceted.tsx +17 -17
  608. package/src/demos/Filters/examples/FilterMixedSelectGroup.tsx +22 -22
  609. package/src/demos/Filters/examples/FilterSameSelectGroup.tsx +22 -22
  610. package/src/demos/Filters/examples/FilterSearchInput.tsx +11 -11
  611. package/src/demos/Filters/examples/FilterSingleSelect.tsx +17 -17
  612. package/src/demos/HelperText.md +1 -0
  613. package/src/demos/JumpLinks.md +5 -3
  614. package/src/demos/LabelGroupDemos.md +1 -0
  615. package/src/demos/Masthead.md +1 -0
  616. package/src/demos/MultipleFileUploadDemos.md +1 -1
  617. package/src/demos/Nav.md +1 -0
  618. package/src/demos/NotificationDrawer/NotificationDrawer.md +2 -0
  619. package/src/demos/NotificationDrawer/examples/NotificationDrawerBasic.tsx +10 -13
  620. package/src/demos/NotificationDrawer/examples/NotificationDrawerGrouped.tsx +13 -16
  621. package/src/demos/Page.md +1 -0
  622. package/src/demos/PasswordGenerator.md +9 -7
  623. package/src/demos/PasswordStrength.md +1 -0
  624. package/src/demos/PrimaryDetail.md +1 -0
  625. package/src/demos/ProgressDemo.md +5 -3
  626. package/src/demos/ProgressStepperDemo.md +3 -1
  627. package/src/demos/RTL/RTL.md +1 -0
  628. package/src/demos/RTL/examples/PaginatedTable.jsx +16 -15
  629. package/src/demos/SearchInput/SearchInput.md +24 -22
  630. package/src/demos/Tabs.md +6 -3
  631. package/src/demos/TextInputGroupDemo.md +1 -0
  632. package/src/demos/Toolbar.md +1 -0
  633. package/src/demos/Wizard/WizardDemo.md +2 -0
  634. package/src/demos/examples/Card/CardAggregateStatus.tsx +2 -2
  635. package/src/demos/examples/Card/CardEventsView.tsx +2 -2
  636. package/src/demos/examples/Card/CardHorizontalGrid.tsx +3 -2
  637. package/src/demos/examples/Card/CardLogView.tsx +2 -2
  638. package/src/demos/examples/Card/CardNested.tsx +5 -4
  639. package/src/demos/examples/Card/CardStatus.tsx +3 -2
  640. package/src/demos/examples/Card/CardStatusTabbed.tsx +2 -1
  641. package/src/demos/examples/Card/CardWithAccordion.tsx +2 -1
  642. package/src/demos/examples/DateTimePicker/DateTimePicker.tsx +5 -4
  643. package/src/demos/examples/HelperText/HelperTextDynamic.tsx +4 -3
  644. package/src/demos/examples/HelperText/HelperTextStatic.tsx +2 -1
  645. package/src/demos/examples/HelperText/HelperTextStaticTextDynamicVariant.tsx +4 -3
  646. package/src/demos/examples/Masthead/MastheadWithHorizontalNav.tsx +9 -8
  647. package/src/demos/examples/Masthead/MastheadWithUtilitiesAndUserDropdownMenu.tsx +16 -16
  648. package/src/demos/examples/MultipleFileUpload/MultipleFileUploadRejectedFile.tsx +8 -7
  649. package/src/demos/examples/Nav/NavDrilldown.tsx +3 -3
  650. package/src/demos/examples/Nav/NavExpandable.tsx +3 -3
  651. package/src/demos/examples/Nav/NavFlyout.tsx +8 -7
  652. package/src/demos/examples/Nav/NavGrouped.tsx +2 -1
  653. package/src/demos/examples/Nav/NavHorizontal.tsx +5 -5
  654. package/src/demos/examples/Nav/NavHorizontalWithSubnav.tsx +6 -6
  655. package/src/demos/examples/Nav/NavManual.tsx +8 -8
  656. package/src/demos/examples/Nav/NavWithSubnav.tsx +3 -3
  657. package/src/demos/examples/Page/PageContextSelector.tsx +7 -6
  658. package/src/demos/examples/Page/PageStickySectionBreadcrumb.tsx +5 -4
  659. package/src/demos/examples/Page/PageStickySectionGroupAlternate.tsx +5 -4
  660. package/src/demos/examples/PasswordStrength/PasswordStrengthDemo.tsx +2 -2
  661. package/src/demos/examples/PrimaryDetail/PrimaryDetailCardView.tsx +15 -15
  662. package/src/demos/examples/PrimaryDetail/PrimaryDetailContentPadding.tsx +9 -9
  663. package/src/demos/examples/PrimaryDetail/PrimaryDetailDataListInCard.tsx +5 -5
  664. package/src/demos/examples/PrimaryDetail/PrimaryDetailFullPage.tsx +9 -9
  665. package/src/demos/examples/PrimaryDetail/PrimaryDetailInlineModifier.tsx +9 -9
  666. package/src/demos/examples/PrimaryDetail/PrimaryDetailSimpleListInCard.tsx +3 -3
  667. package/src/demos/examples/Tabs/ModalTabs.tsx +7 -7
  668. package/src/demos/examples/Tabs/NestedTabs.tsx +3 -2
  669. package/src/demos/examples/Tabs/NestedUnindentedTabs.tsx +3 -2
  670. package/src/demos/examples/Tabs/TabsAndTable.tsx +5 -5
  671. package/src/demos/examples/TextInputGroup/AttributeValueFiltering.tsx +10 -9
  672. package/src/demos/examples/TextInputGroup/AutoCompleteSearch.tsx +9 -8
  673. package/src/demos/examples/Toolbar/ConsoleLogViewerToolbar.tsx +17 -17
  674. package/src/demos/examples/Wizard/InModalWithDrawer.tsx +3 -2
  675. package/src/demos/examples/Wizard/InModalWithDrawerInformationalStep.tsx +3 -2
  676. package/src/demos/examples/Wizard/InPageWithDrawer.tsx +4 -4
  677. package/src/demos/examples/Wizard/InPageWithDrawerInformationalStep.tsx +4 -4
  678. package/src/deprecated/components/Chip/examples/Chip.md +1 -1
  679. package/src/deprecated/components/Chip/examples/ChipDefault.tsx +2 -2
  680. package/src/deprecated/components/Chip/examples/ChipGroupInline.tsx +2 -1
  681. package/src/deprecated/components/Chip/examples/ChipGroupRemovableCategories.tsx +3 -3
  682. package/src/deprecated/components/Chip/examples/ChipGroupWithCategories.tsx +2 -1
  683. package/src/deprecated/components/DragDrop/examples/DragDrop.md +1 -0
  684. package/src/deprecated/components/DragDrop/examples/DragDropBasic.tsx +2 -1
  685. package/src/deprecated/components/DragDrop/examples/DragDropMultipleLists.tsx +2 -1
  686. package/src/deprecated/components/Modal/examples/Modal.md +1 -1
  687. package/src/deprecated/components/Modal/examples/ModalBasic.tsx +2 -2
  688. package/src/deprecated/components/Modal/examples/ModalCustomFocus.tsx +2 -2
  689. package/src/deprecated/components/Modal/examples/ModalCustomHeaderFooter.tsx +2 -2
  690. package/src/deprecated/components/Modal/examples/ModalCustomTitleIcon.tsx +2 -2
  691. package/src/deprecated/components/Modal/examples/ModalCustomWidth.tsx +2 -2
  692. package/src/deprecated/components/Modal/examples/ModalLarge.tsx +2 -2
  693. package/src/deprecated/components/Modal/examples/ModalMedium.tsx +2 -2
  694. package/src/deprecated/components/Modal/examples/ModalNoHeaderFooter.tsx +2 -2
  695. package/src/deprecated/components/Modal/examples/ModalSmall.tsx +2 -2
  696. package/src/deprecated/components/Modal/examples/ModalTitleIcon.tsx +2 -2
  697. package/src/deprecated/components/Modal/examples/ModalTopAligned.tsx +2 -2
  698. package/src/deprecated/components/Modal/examples/ModalWithDescription.tsx +2 -2
  699. package/src/deprecated/components/Modal/examples/ModalWithDropdown.tsx +3 -3
  700. package/src/deprecated/components/Modal/examples/ModalWithForm.tsx +8 -8
  701. package/src/deprecated/components/Modal/examples/ModalWithHelp.tsx +2 -2
  702. package/src/deprecated/components/Modal/examples/ModalWithOverflowingContent.tsx +2 -2
  703. package/src/deprecated/components/Modal/examples/ModalWithWizard.tsx +2 -2
  704. package/src/deprecated/components/Tile/examples/Tile.md +5 -2
  705. package/src/deprecated/components/Wizard/examples/Wizard.md +1 -1
  706. package/src/deprecated/components/Wizard/examples/WizardEnabledOnFormValidation.tsx +8 -7
  707. package/src/deprecated/components/Wizard/examples/WizardFinished.tsx +3 -2
  708. package/src/deprecated/components/Wizard/examples/WizardInModal.tsx +2 -2
  709. package/src/deprecated/components/Wizard/examples/WizardIncrementallyEnabledSteps.tsx +2 -1
  710. package/src/deprecated/components/Wizard/examples/WizardValidateOnButtonPress.tsx +9 -8
  711. package/src/deprecated/components/Wizard/examples/WizardWithDrawer.tsx +3 -3
  712. package/src/helpers/resizeObserver.tsx +2 -2
  713. package/src/layouts/Bullseye/__tests__/Bullseye.test.tsx +1 -2
@@ -1,4 +1,3 @@
1
- import { type JSX } from 'react';
2
1
  import { render, screen } from '@testing-library/react';
3
2
  import { CardFooter } from '../CardFooter';
4
3
 
@@ -27,7 +26,7 @@ describe('CardFooter', () => {
27
26
 
28
27
  test('allows passing in a React Component as the component', () => {
29
28
  const Component = () => <div>im a div</div>;
30
- render(<CardFooter component={Component as unknown as keyof JSX.IntrinsicElements} />);
29
+ render(<CardFooter component={Component as unknown as keyof React.JSX.IntrinsicElements} />);
31
30
  expect(screen.getByText('im a div')).toBeInTheDocument();
32
31
  });
33
32
  });
@@ -1,4 +1,6 @@
1
1
  import { render, screen } from '@testing-library/react';
2
+ import styles from '@patternfly/react-styles/css/components/Card/card';
3
+ import '@testing-library/jest-dom';
2
4
  import userEvent from '@testing-library/user-event';
3
5
  import { CardHeader } from '../CardHeader';
4
6
  import { CardContext } from '../Card';
@@ -13,6 +15,18 @@ describe('CardHeader', () => {
13
15
  const { asFragment } = render(<CardHeader actions="test" />);
14
16
  expect(asFragment()).toMatchSnapshot();
15
17
  });
18
+
19
+ test(`Should render CardHeader without ${styles.modifiers.wrap} by default`, () => {
20
+ render(<CardHeader data-testid="card-header" />);
21
+
22
+ expect(screen.getByTestId('card-header')).not.toHaveClass(styles.modifiers.wrap);
23
+ });
24
+
25
+ test(`Should render CardHeader with ${styles.modifiers.wrap} class when hasWrap is true`, () => {
26
+ render(<CardHeader data-testid="card-header-will-wrap" hasWrap />);
27
+
28
+ expect(screen.getByTestId('card-header-will-wrap')).toHaveClass(styles.modifiers.wrap);
29
+ });
16
30
  });
17
31
 
18
32
  // TODO: check if hasNoOffset for actions/selectableActions and className for selectableActions render
@@ -16,7 +16,7 @@ propComponents:
16
16
  ouia: true
17
17
  ---
18
18
 
19
- import { Fragment } from 'react';
19
+ import { Fragment, useState } from 'react';
20
20
  import pfLogo from '../../assets/PF-HorizontalLogo-Color.svg';
21
21
  import pfLogoSmall from '../../assets/PF-IconLogo.svg';
22
22
  import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
@@ -1,7 +1,8 @@
1
+ import { useState } from 'react';
1
2
  import { Card, CardHeader, CardTitle, CardBody, Checkbox, Gallery } from '@patternfly/react-core';
2
3
 
3
4
  export const CardClickable: React.FunctionComponent = () => {
4
- const [isSecondary, setIsSecondary] = React.useState<boolean>(false);
5
+ const [isSecondary, setIsSecondary] = useState<boolean>(false);
5
6
 
6
7
  const toggleVariant = (checked: boolean) => {
7
8
  setIsSecondary(checked);
@@ -1,11 +1,12 @@
1
+ import { useState } from 'react';
1
2
  import { Card, CardHeader, CardTitle, CardBody, Button, Checkbox, Gallery } from '@patternfly/react-core';
2
3
 
3
4
  export const CardClickable: React.FunctionComponent = () => {
4
- const [isChecked1, setIsChecked1] = React.useState(false);
5
- const [isChecked2, setIsChecked2] = React.useState(false);
6
- const [isChecked3, setIsChecked3] = React.useState(false);
7
- const [isClicked, setIsClicked] = React.useState(false);
8
- const [isSecondary, setIsSecondary] = React.useState<boolean>(false);
5
+ const [isChecked1, setIsChecked1] = useState(false);
6
+ const [isChecked2, setIsChecked2] = useState(false);
7
+ const [isChecked3, setIsChecked3] = useState(false);
8
+ const [isClicked, setIsClicked] = useState(false);
9
+ const [isSecondary, setIsSecondary] = useState<boolean>(false);
9
10
 
10
11
  const id1 = 'clickable-selectable-card-input-1';
11
12
  const id2 = 'clickable-selectable-card-input-2';
@@ -1,4 +1,4 @@
1
- import { Fragment } from 'react';
1
+ import { Fragment, useState } from 'react';
2
2
  import {
3
3
  Card,
4
4
  CardHeader,
@@ -17,10 +17,10 @@ import {
17
17
  import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
18
18
 
19
19
  export const CardExpandable: React.FunctionComponent = () => {
20
- const [isOpen, setIsOpen] = React.useState<boolean>(false);
21
- const [isChecked, setIsChecked] = React.useState<boolean>(false);
22
- const [isExpanded, setIsExpanded] = React.useState<boolean>(false);
23
- const [isToggleRightAligned, setIsToggleRightAligned] = React.useState<boolean>(false);
20
+ const [isOpen, setIsOpen] = useState<boolean>(false);
21
+ const [isChecked, setIsChecked] = useState<boolean>(false);
22
+ const [isExpanded, setIsExpanded] = useState<boolean>(false);
23
+ const [isToggleRightAligned, setIsToggleRightAligned] = useState<boolean>(false);
24
24
 
25
25
  const onSelect = () => {
26
26
  setIsOpen(!isOpen);
@@ -1,3 +1,4 @@
1
+ import { useState } from 'react';
1
2
  import {
2
3
  Card,
3
4
  CardHeader,
@@ -16,9 +17,9 @@ import pfLogoSmall from '../../PF-IconLogo.svg';
16
17
  import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
17
18
 
18
19
  export const CardExpandableWithIcon: React.FunctionComponent = () => {
19
- const [isOpen, setIsOpen] = React.useState<boolean>(false);
20
- const [isChecked, setIsChecked] = React.useState<boolean>(false);
21
- const [isExpanded, setIsExpanded] = React.useState<boolean>(false);
20
+ const [isOpen, setIsOpen] = useState<boolean>(false);
21
+ const [isChecked, setIsChecked] = useState<boolean>(false);
22
+ const [isExpanded, setIsExpanded] = useState<boolean>(false);
22
23
 
23
24
  const onSelect = () => {
24
25
  setIsOpen(!isOpen);
@@ -1,3 +1,4 @@
1
+ import { useState } from 'react';
1
2
  import {
2
3
  Card,
3
4
  CardHeader,
@@ -15,8 +16,8 @@ import {
15
16
  import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
16
17
 
17
18
  export const CardTitleInHeader: React.FunctionComponent = () => {
18
- const [isOpen, setIsOpen] = React.useState<boolean>(false);
19
- const [isChecked, setIsChecked] = React.useState<boolean>(false);
19
+ const [isOpen, setIsOpen] = useState<boolean>(false);
20
+ const [isChecked, setIsChecked] = useState<boolean>(false);
20
21
 
21
22
  const onSelect = () => {
22
23
  setIsOpen(!isOpen);
@@ -1,3 +1,4 @@
1
+ import { useState } from 'react';
1
2
  import {
2
3
  Checkbox,
3
4
  Card,
@@ -13,8 +14,8 @@ import {
13
14
  import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
14
15
 
15
16
  export const CardOnlyActionsInCardHead: React.FunctionComponent = () => {
16
- const [isOpen, setIsOpen] = React.useState<boolean>(false);
17
- const [isChecked, setIsChecked] = React.useState<boolean>(false);
17
+ const [isOpen, setIsOpen] = useState<boolean>(false);
18
+ const [isChecked, setIsChecked] = useState<boolean>(false);
18
19
 
19
20
  const onSelect = () => {
20
21
  setIsOpen(!isOpen);
@@ -1,10 +1,11 @@
1
+ import { useState } from 'react';
1
2
  import { Card, CardHeader, CardTitle, CardBody, Checkbox, Gallery } from '@patternfly/react-core';
2
3
 
3
4
  export const SelectableCard: React.FunctionComponent = () => {
4
- const [isChecked1, setIsChecked1] = React.useState(false);
5
- const [isChecked2, setIsChecked2] = React.useState(false);
6
- const [isChecked3, setIsChecked3] = React.useState(false);
7
- const [isSecondary, setIsSecondary] = React.useState<boolean>(false);
5
+ const [isChecked1, setIsChecked1] = useState(false);
6
+ const [isChecked2, setIsChecked2] = useState(false);
7
+ const [isChecked3, setIsChecked3] = useState(false);
8
+ const [isSecondary, setIsSecondary] = useState<boolean>(false);
8
9
 
9
10
  const id1 = 'selectable-card-input-1';
10
11
  const id2 = 'selectable-card-input-2';
@@ -1,7 +1,8 @@
1
+ import { useState } from 'react';
1
2
  import { Card, CardHeader, CardTitle, CardBody, Gallery } from '@patternfly/react-core';
2
3
 
3
4
  export const SingleSelectableCard: React.FunctionComponent = () => {
4
- const [isChecked, setIsChecked] = React.useState('');
5
+ const [isChecked, setIsChecked] = useState('');
5
6
  const id1 = 'single-selectable-card-input-1';
6
7
  const id2 = 'single-selectable-card-input-2';
7
8
  const id3 = 'single-selectable-card-input-3';
@@ -1,8 +1,9 @@
1
+ import { useState } from 'react';
1
2
  import { Card, CardHeader, CardBody, Gallery, Flex } from '@patternfly/react-core';
2
3
  import PlusIcon from '@patternfly/react-icons/dist/esm/icons/plus-icon';
3
4
 
4
5
  export const CardTile: React.FunctionComponent = () => {
5
- const [isChecked, setIsChecked] = React.useState('');
6
+ const [isChecked, setIsChecked] = useState('');
6
7
  const id1 = 'tile-1';
7
8
  const id2 = 'tile-2';
8
9
  const id3 = 'tile-3';
@@ -1,10 +1,11 @@
1
+ import { useState } from 'react';
1
2
  import { Card, CardHeader, CardBody, Gallery, Flex } from '@patternfly/react-core';
2
3
  import PlusIcon from '@patternfly/react-icons/dist/esm/icons/plus-icon';
3
4
 
4
5
  export const CardTileMulti: React.FunctionComponent = () => {
5
- const [isChecked1, setIsChecked1] = React.useState(false);
6
- const [isChecked2, setIsChecked2] = React.useState(false);
7
- const [isChecked3, setIsChecked3] = React.useState(false);
6
+ const [isChecked1, setIsChecked1] = useState(false);
7
+ const [isChecked2, setIsChecked2] = useState(false);
8
+ const [isChecked3, setIsChecked3] = useState(false);
8
9
  const id1 = 'multi-tile-1';
9
10
  const id2 = 'multi-tile-2';
10
11
  const id3 = 'multi-tile-3';
@@ -1,3 +1,4 @@
1
+ import { useState } from 'react';
1
2
  import {
2
3
  Brand,
3
4
  Card,
@@ -17,9 +18,9 @@ import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-ico
17
18
  import pfLogo from '../../assets/PF-HorizontalLogo-Color.svg';
18
19
 
19
20
  export const CardWithImageAndActions: React.FunctionComponent = () => {
20
- const [isOpen, setIsOpen] = React.useState<boolean>(false);
21
- const [isChecked, setIsChecked] = React.useState<boolean>(false);
22
- const [hasNoOffset, setHasNoOffset] = React.useState<boolean>(false);
21
+ const [isOpen, setIsOpen] = useState<boolean>(false);
22
+ const [isChecked, setIsChecked] = useState<boolean>(false);
23
+ const [hasNoOffset, setHasNoOffset] = useState<boolean>(false);
23
24
 
24
25
  const onSelect = () => {
25
26
  setIsOpen(!isOpen);
@@ -1,9 +1,9 @@
1
- import { Fragment } from 'react';
1
+ import { Fragment, useState } from 'react';
2
2
  import { Card, CardTitle, CardBody, CardFooter, Checkbox } from '@patternfly/react-core';
3
3
 
4
4
  export const CardWithModifiers: React.FunctionComponent = () => {
5
5
  const mods = ['isCompact', 'isLarge', 'isFullHeight', 'isPlain'];
6
- const [modifiers, setModifiers] = React.useState({});
6
+ const [modifiers, setModifiers] = useState({});
7
7
 
8
8
  return (
9
9
  <Fragment>
@@ -6,7 +6,7 @@ cssPrefix: pf-v6-c-check
6
6
  propComponents: ['Checkbox']
7
7
  ---
8
8
 
9
- import { Fragment } from 'react';
9
+ import { Fragment, useEffect, useState } from 'react';
10
10
 
11
11
  ## Examples
12
12
 
@@ -1,11 +1,11 @@
1
- import { Fragment } from 'react';
1
+ import { Fragment, useEffect, useState } from 'react';
2
2
  import { Checkbox } from '@patternfly/react-core';
3
3
 
4
4
  export const CheckboxControlled: React.FunctionComponent = () => {
5
- const [isChecked1, setIsChecked1] = React.useState<boolean>(false);
6
- const [isChecked2, setIsChecked2] = React.useState<boolean>(false);
7
- const [isChecked3, setIsChecked3] = React.useState<boolean>(false);
8
- const [isChecked4, setIsChecked4] = React.useState<boolean>(false);
5
+ const [isChecked1, setIsChecked1] = useState<boolean>(false);
6
+ const [isChecked2, setIsChecked2] = useState<boolean>(false);
7
+ const [isChecked3, setIsChecked3] = useState<boolean>(false);
8
+ const [isChecked4, setIsChecked4] = useState<boolean>(false);
9
9
 
10
10
  const handleChange = (event: React.FormEvent<HTMLInputElement>, checked: boolean) => {
11
11
  const target = event.currentTarget;
@@ -30,14 +30,14 @@ export const CheckboxControlled: React.FunctionComponent = () => {
30
30
  }
31
31
  };
32
32
 
33
- React.useEffect(() => {
33
+ useEffect(() => {
34
34
  if (isChecked1 !== null) {
35
35
  setIsChecked2(isChecked1);
36
36
  setIsChecked3(isChecked1);
37
37
  }
38
38
  }, [isChecked1]);
39
39
 
40
- React.useEffect(() => {
40
+ useEffect(() => {
41
41
  setIsChecked1((isChecked2 && isChecked3) || (isChecked2 || isChecked3 ? null : false));
42
42
  }, [isChecked2, isChecked3]);
43
43
 
@@ -1,9 +1,10 @@
1
- import { Component, Fragment } from 'react';
1
+ import { Component, Fragment, createRef } from 'react';
2
2
  import styles from '@patternfly/react-styles/css/components/ClipboardCopy/clipboard-copy';
3
3
  import { css } from '@patternfly/react-styles';
4
4
  import { PickOptional } from '../../helpers/typeUtils';
5
5
  import { TooltipPosition } from '../Tooltip';
6
6
  import { TextInput } from '../TextInput';
7
+ import { Truncate, TruncateProps } from '../Truncate';
7
8
  import { GenerateId } from '../../helpers/GenerateId/GenerateId';
8
9
  import { ClipboardCopyButton } from './ClipboardCopyButton';
9
10
  import { ClipboardCopyToggle } from './ClipboardCopyToggle';
@@ -92,6 +93,8 @@ export interface ClipboardCopyProps extends Omit<React.HTMLProps<HTMLDivElement>
92
93
  children: string | string[];
93
94
  /** Additional actions for inline clipboard copy. Should be wrapped with ClipboardCopyAction. */
94
95
  additionalActions?: React.ReactNode;
96
+ /** Enables and customizes truncation for an inline-compact ClipboardCopy. */
97
+ truncation?: boolean | Omit<TruncateProps, 'content'>;
95
98
  /** Value to overwrite the randomly generated data-ouia-component-id.*/
96
99
  ouiaId?: number | string;
97
100
  /** Set the value of data-ouia-safe. Only set to true when the component is in a static state, i.e. no animations are occurring. At all other times, this value must be false. */
@@ -101,6 +104,7 @@ export interface ClipboardCopyProps extends Omit<React.HTMLProps<HTMLDivElement>
101
104
  class ClipboardCopy extends Component<ClipboardCopyProps, ClipboardCopyState> {
102
105
  static displayName = 'ClipboardCopy';
103
106
  timer = null as number;
107
+ private clipboardRef: React.RefObject<any>;
104
108
  constructor(props: ClipboardCopyProps) {
105
109
  super(props);
106
110
  const text = Array.isArray(this.props.children) ? this.props.children.join(' ') : (this.props.children as string);
@@ -110,6 +114,8 @@ class ClipboardCopy extends Component<ClipboardCopyProps, ClipboardCopyState> {
110
114
  copied: false,
111
115
  textWhenExpanded: text
112
116
  };
117
+
118
+ this.clipboardRef = createRef();
113
119
  }
114
120
 
115
121
  static defaultProps: PickOptional<ClipboardCopyProps> = {
@@ -128,6 +134,7 @@ class ClipboardCopy extends Component<ClipboardCopyProps, ClipboardCopyState> {
128
134
  textAriaLabel: 'Copyable input',
129
135
  toggleAriaLabel: 'Show content',
130
136
  additionalActions: null,
137
+ truncation: false,
131
138
  ouiaSafe: true
132
139
  };
133
140
 
@@ -184,6 +191,7 @@ class ClipboardCopy extends Component<ClipboardCopyProps, ClipboardCopyState> {
184
191
  position,
185
192
  className,
186
193
  additionalActions,
194
+ truncation,
187
195
  ouiaId,
188
196
  ouiaSafe,
189
197
  ...divProps
@@ -191,30 +199,45 @@ class ClipboardCopy extends Component<ClipboardCopyProps, ClipboardCopyState> {
191
199
  const textIdPrefix = 'text-input-';
192
200
  const toggleIdPrefix = 'toggle-';
193
201
  const contentIdPrefix = 'content-';
202
+
203
+ const copyableText = this.state.text;
204
+ const shouldTruncate = variant === ClipboardCopyVariant.inlineCompact && truncation;
205
+ const inlineCompactContent = shouldTruncate ? (
206
+ <Truncate
207
+ refToGetParent={this.clipboardRef}
208
+ content={copyableText}
209
+ {...(typeof truncation === 'object' && truncation)}
210
+ />
211
+ ) : (
212
+ copyableText
213
+ );
214
+
194
215
  return (
195
216
  <div
196
217
  className={css(
197
218
  styles.clipboardCopy,
198
- variant === 'inline-compact' && styles.modifiers.inline,
219
+ variant === ClipboardCopyVariant.inlineCompact && styles.modifiers.inline,
199
220
  isBlock && styles.modifiers.block,
200
221
  this.state.expanded && styles.modifiers.expanded,
222
+ shouldTruncate && styles.modifiers.truncate,
201
223
  className
202
224
  )}
225
+ ref={this.clipboardRef}
203
226
  {...divProps}
204
227
  {...getOUIAProps(ClipboardCopy.displayName, ouiaId, ouiaSafe)}
205
228
  >
206
- {variant === 'inline-compact' && (
229
+ {variant === ClipboardCopyVariant.inlineCompact && (
207
230
  <GenerateId prefix="">
208
231
  {(id) => (
209
232
  <Fragment>
210
233
  {!isCode && (
211
234
  <span className={css(styles.clipboardCopyText)} id={`${textIdPrefix}${id}`}>
212
- {this.state.text}
235
+ {inlineCompactContent}
213
236
  </span>
214
237
  )}
215
238
  {isCode && (
216
239
  <code className={css(styles.clipboardCopyText, styles.modifiers.code)} id={`${textIdPrefix}${id}`}>
217
- {this.state.text}
240
+ {inlineCompactContent}
218
241
  </code>
219
242
  )}
220
243
  <span className={css(styles.clipboardCopyActions)}>
@@ -229,7 +252,7 @@ class ClipboardCopy extends Component<ClipboardCopyProps, ClipboardCopyState> {
229
252
  textId={`text-input-${id}`}
230
253
  aria-label={hoverTip}
231
254
  onClick={(event: any) => {
232
- onCopy(event, this.state.text);
255
+ onCopy(event, copyableText);
233
256
  this.setState({ copied: true });
234
257
  }}
235
258
  onTooltipHidden={() => this.setState({ copied: false })}
@@ -244,12 +267,12 @@ class ClipboardCopy extends Component<ClipboardCopyProps, ClipboardCopyState> {
244
267
  )}
245
268
  </GenerateId>
246
269
  )}
247
- {variant !== 'inline-compact' && (
270
+ {variant !== ClipboardCopyVariant.inlineCompact && (
248
271
  <GenerateId prefix="">
249
272
  {(id) => (
250
273
  <Fragment>
251
274
  <div className={css(styles.clipboardCopyGroup)}>
252
- {variant === 'expansion' && (
275
+ {variant === ClipboardCopyVariant.expansion && (
253
276
  <ClipboardCopyToggle
254
277
  isExpanded={this.state.expanded}
255
278
  onClick={(_event) => {
@@ -257,7 +280,7 @@ class ClipboardCopy extends Component<ClipboardCopyProps, ClipboardCopyState> {
257
280
  if (this.state.expanded) {
258
281
  this.setState({ text: this.state.textWhenExpanded });
259
282
  } else {
260
- this.setState({ textWhenExpanded: this.state.text });
283
+ this.setState({ textWhenExpanded: copyableText });
261
284
  }
262
285
  }}
263
286
  id={`${toggleIdPrefix}${id}`}
@@ -269,7 +292,7 @@ class ClipboardCopy extends Component<ClipboardCopyProps, ClipboardCopyState> {
269
292
  <TextInput
270
293
  readOnlyVariant={isReadOnly || this.state.expanded ? 'default' : undefined}
271
294
  onChange={this.updateText}
272
- value={this.state.expanded ? this.state.textWhenExpanded : this.state.text}
295
+ value={this.state.expanded ? this.state.textWhenExpanded : copyableText}
273
296
  id={`text-input-${id}`}
274
297
  aria-label={textAriaLabel}
275
298
  {...(isCode && { dir: 'ltr' })}
@@ -283,7 +306,7 @@ class ClipboardCopy extends Component<ClipboardCopyProps, ClipboardCopyState> {
283
306
  textId={`text-input-${id}`}
284
307
  aria-label={hoverTip}
285
308
  onClick={(event: any) => {
286
- onCopy(event, this.state.expanded ? this.state.textWhenExpanded : this.state.text);
309
+ onCopy(event, this.state.expanded ? this.state.textWhenExpanded : copyableText);
287
310
  this.setState({ copied: true });
288
311
  }}
289
312
  onTooltipHidden={() => this.setState({ copied: false })}
@@ -298,7 +321,7 @@ class ClipboardCopy extends Component<ClipboardCopyProps, ClipboardCopyState> {
298
321
  id={`content-${id}`}
299
322
  onChange={this.updateTextWhenExpanded}
300
323
  >
301
- {this.state.text}
324
+ {copyableText}
302
325
  </ClipboardCopyExpanded>
303
326
  )}
304
327
  </Fragment>
@@ -1,6 +1,7 @@
1
1
  import { screen, render } from '@testing-library/react';
2
- import { ClipboardCopy } from '../ClipboardCopy';
2
+ import { ClipboardCopy, ClipboardCopyVariant } from '../ClipboardCopy';
3
3
  import styles from '@patternfly/react-styles/css/components/ClipboardCopy/clipboard-copy';
4
+ import truncateStyles from '@patternfly/react-styles/css/components/Truncate/truncate';
4
5
  import userEvent from '@testing-library/user-event';
5
6
 
6
7
  jest.mock('../../../helpers/GenerateId/GenerateId');
@@ -27,6 +28,19 @@ jest.mock('../ClipboardCopyToggle', () => ({
27
28
  )
28
29
  }));
29
30
 
31
+ jest.mock('../../Truncate', () => ({
32
+ Truncate: ({ className, trailingNumChars, content, position, tooltipPosition, ...props }) => (
33
+ <div data-testid="Truncate-mock" {...props}>
34
+ <p>{`Truncate content: ${content}`}</p>
35
+ <p>{`Truncate className: ${className}`}</p>
36
+ <p>{`Truncate position: ${position}`}</p>
37
+ <p>{`Truncate trailingNumChars: ${trailingNumChars}`}</p>
38
+ <p>{`Truncate tooltipPosition: ${tooltipPosition}`}</p>
39
+ {children}
40
+ </div>
41
+ )
42
+ }));
43
+
30
44
  const children = 'Copyable text';
31
45
  const testId = 'clipboard-copy';
32
46
 
@@ -350,6 +364,178 @@ test('Can take array of strings as children', async () => {
350
364
  expect(onCopyMock).toHaveBeenCalledWith(expect.any(Object), children);
351
365
  });
352
366
 
367
+ describe('ClipboardCopy with truncation', () => {
368
+ test(`Does not render ClipboardCopy component with class ${styles.modifiers.truncate} by default`, () => {
369
+ render(<ClipboardCopy data-testid={testId}>{children}</ClipboardCopy>);
370
+
371
+ expect(screen.getByTestId(testId)).not.toHaveClass(styles.modifiers.truncate);
372
+ });
373
+
374
+ test(`Does not render ClipboardCopy component with class ${styles.modifiers.truncate} for expansion variant`, () => {
375
+ render(
376
+ <ClipboardCopy variant={ClipboardCopyVariant.expansion} data-testid={testId}>
377
+ {children}
378
+ </ClipboardCopy>
379
+ );
380
+
381
+ expect(screen.getByTestId(testId)).not.toHaveClass(styles.modifiers.truncate);
382
+ });
383
+
384
+ test(`Does not render ClipboardCopy component with class ${styles.modifiers.truncate} for inlinecompact variant and truncation is false`, () => {
385
+ render(
386
+ <ClipboardCopy variant={ClipboardCopyVariant.inlineCompact} data-testid={testId}>
387
+ {children}
388
+ </ClipboardCopy>
389
+ );
390
+
391
+ expect(screen.getByTestId(testId)).not.toHaveClass(styles.modifiers.truncate);
392
+ });
393
+
394
+ test(`Renders ClipboardCopy component with class ${styles.modifiers.truncate} when truncation is true and variant is inline-compact`, () => {
395
+ render(
396
+ <ClipboardCopy variant={ClipboardCopyVariant.inlineCompact} truncation data-testid={testId}>
397
+ {children}
398
+ </ClipboardCopy>
399
+ );
400
+
401
+ expect(screen.getByTestId(testId)).toHaveClass(styles.modifiers.truncate);
402
+ });
403
+
404
+ test(`Renders ClipboardCopy component with class ${styles.modifiers.truncate} when truncation is an object and variant is inlinecompact`, () => {
405
+ render(
406
+ <ClipboardCopy variant={ClipboardCopyVariant.inlineCompact} truncation={{}} data-testid={testId}>
407
+ {children}
408
+ </ClipboardCopy>
409
+ );
410
+
411
+ expect(screen.getByTestId(testId)).toHaveClass(styles.modifiers.truncate);
412
+ });
413
+
414
+ test('Does not render with Truncate component by default', () => {
415
+ render(<ClipboardCopy>{children}</ClipboardCopy>);
416
+
417
+ expect(screen.queryByTestId('Truncate-mock')).not.toBeInTheDocument();
418
+ });
419
+
420
+ test('Does not render with Truncate component when truncation is true and variant is not inline-compact', () => {
421
+ render(<ClipboardCopy truncation>{children}</ClipboardCopy>);
422
+
423
+ expect(screen.queryByTestId('Truncate-mock')).not.toBeInTheDocument();
424
+ });
425
+
426
+ test('Does not render with Truncate component when truncation is true and variant is expansion', () => {
427
+ render(
428
+ <ClipboardCopy variant={ClipboardCopyVariant.expansion} truncation>
429
+ {children}
430
+ </ClipboardCopy>
431
+ );
432
+
433
+ expect(screen.queryByTestId('Truncate-mock')).not.toBeInTheDocument();
434
+ });
435
+
436
+ test('Does not render with Truncate component when truncation is an object and variant is not inline-compact', () => {
437
+ render(<ClipboardCopy truncation={{}}>{children}</ClipboardCopy>);
438
+
439
+ expect(screen.queryByTestId('Truncate-mock')).not.toBeInTheDocument();
440
+ });
441
+
442
+ test('Does not render with Truncate component when truncation is an object and variant is expansion', () => {
443
+ render(
444
+ <ClipboardCopy variant={ClipboardCopyVariant.expansion} truncation={{}}>
445
+ {children}
446
+ </ClipboardCopy>
447
+ );
448
+
449
+ expect(screen.queryByTestId('Truncate-mock')).not.toBeInTheDocument();
450
+ });
451
+
452
+ test('Does not render with Truncate component when variant="inline-compact" and truncation is false', () => {
453
+ render(<ClipboardCopy variant={ClipboardCopyVariant.inlineCompact}>{children}</ClipboardCopy>);
454
+
455
+ expect(screen.queryByTestId('Truncate-mock')).not.toBeInTheDocument();
456
+ });
457
+
458
+ test('Renders with Truncate component when variant="inline-compact" and truncation is true', () => {
459
+ render(
460
+ <ClipboardCopy variant={ClipboardCopyVariant.inlineCompact} truncation>
461
+ {children}
462
+ </ClipboardCopy>
463
+ );
464
+
465
+ expect(screen.getByTestId('Truncate-mock')).toBeInTheDocument();
466
+ });
467
+
468
+ test('Passes children to Truncate content prop when variant="inline-compact" and truncation is true', () => {
469
+ render(
470
+ <ClipboardCopy variant={ClipboardCopyVariant.inlineCompact} truncation>
471
+ {children}
472
+ </ClipboardCopy>
473
+ );
474
+
475
+ expect(screen.getByText(`Truncate content: ${children}`)).toBeInTheDocument();
476
+ });
477
+
478
+ test('Renders with Truncate component when variant="inline-compact" and truncation is an object', () => {
479
+ render(
480
+ <ClipboardCopy variant={ClipboardCopyVariant.inlineCompact} truncation={{}}>
481
+ {children}
482
+ </ClipboardCopy>
483
+ );
484
+
485
+ expect(screen.getByTestId('Truncate-mock')).toBeInTheDocument();
486
+ });
487
+
488
+ test('Passes children to Truncate content prop when variant="inline-compact" and truncation is an object', () => {
489
+ render(
490
+ <ClipboardCopy variant={ClipboardCopyVariant.inlineCompact} truncation={{}}>
491
+ {children}
492
+ </ClipboardCopy>
493
+ );
494
+
495
+ expect(screen.getByText(`Truncate content: ${children}`)).toBeInTheDocument();
496
+ });
497
+
498
+ test('Passes className prop to Truncate when variant="inline-compact" and truncation is passed', () => {
499
+ render(
500
+ <ClipboardCopy variant={ClipboardCopyVariant.inlineCompact} truncation={{ className: 'clipboard-truncate' }}>
501
+ {children}
502
+ </ClipboardCopy>
503
+ );
504
+
505
+ expect(screen.getByText(`Truncate className: clipboard-truncate`)).toBeInTheDocument();
506
+ });
507
+
508
+ test('Passes trailingNumChars prop to Truncate when variant="inline-compact" and truncation is passed', () => {
509
+ render(
510
+ <ClipboardCopy variant={ClipboardCopyVariant.inlineCompact} truncation={{ trailingNumChars: 5 }}>
511
+ {children}
512
+ </ClipboardCopy>
513
+ );
514
+
515
+ expect(screen.getByText(`Truncate trailingNumChars: 5`)).toBeInTheDocument();
516
+ });
517
+
518
+ test('Passes position prop to Truncate when variant="inline-compact" and truncation is passed', () => {
519
+ render(
520
+ <ClipboardCopy variant={ClipboardCopyVariant.inlineCompact} truncation={{ position: 'start' }}>
521
+ {children}
522
+ </ClipboardCopy>
523
+ );
524
+
525
+ expect(screen.getByText(`Truncate position: start`)).toBeInTheDocument();
526
+ });
527
+
528
+ test('Passes tooltipPosition prop to Truncate when variant="inline-compact" and truncation is passed', () => {
529
+ render(
530
+ <ClipboardCopy variant={ClipboardCopyVariant.inlineCompact} truncation={{ tooltipPosition: 'bottom' }}>
531
+ {children}
532
+ </ClipboardCopy>
533
+ );
534
+
535
+ expect(screen.getByText(`Truncate tooltipPosition: bottom`)).toBeInTheDocument();
536
+ });
537
+ });
538
+
353
539
  test('Matches snapshot', () => {
354
540
  const { asFragment } = render(
355
541
  <ClipboardCopy id="snapshot" ouiaId="snapshot">