@patternfly/react-core 6.2.1-prerelease.1 → 6.2.1-prerelease.11

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 (340) hide show
  1. package/CHANGELOG.md +52 -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/esm/components/Divider/Divider.d.ts +2 -0
  115. package/dist/esm/components/Divider/Divider.d.ts.map +1 -1
  116. package/dist/esm/components/Divider/Divider.js +2 -2
  117. package/dist/esm/components/Divider/Divider.js.map +1 -1
  118. package/dist/esm/components/Dropdown/DropdownGroup.d.ts +1 -1
  119. package/dist/esm/components/Dropdown/DropdownGroup.d.ts.map +1 -1
  120. package/dist/esm/components/ExpandableSection/ExpandableSection.d.ts +1 -1
  121. package/dist/esm/components/ExpandableSection/ExpandableSection.d.ts.map +1 -1
  122. package/dist/esm/components/ExpandableSection/ExpandableSectionToggle.d.ts +1 -1
  123. package/dist/esm/components/ExpandableSection/ExpandableSectionToggle.d.ts.map +1 -1
  124. package/dist/esm/components/Form/FormFieldGroup.d.ts +1 -1
  125. package/dist/esm/components/Form/FormFieldGroup.d.ts.map +1 -1
  126. package/dist/esm/components/Form/FormFieldGroupExpandable.d.ts +1 -1
  127. package/dist/esm/components/Form/FormFieldGroupExpandable.d.ts.map +1 -1
  128. package/dist/esm/components/Form/InternalFormFieldGroup.d.ts +1 -1
  129. package/dist/esm/components/Form/InternalFormFieldGroup.d.ts.map +1 -1
  130. package/dist/esm/components/List/List.d.ts.map +1 -1
  131. package/dist/esm/components/List/List.js +2 -2
  132. package/dist/esm/components/List/List.js.map +1 -1
  133. package/dist/esm/components/List/ListItem.d.ts +4 -2
  134. package/dist/esm/components/List/ListItem.d.ts.map +1 -1
  135. package/dist/esm/components/List/ListItem.js +2 -2
  136. package/dist/esm/components/List/ListItem.js.map +1 -1
  137. package/dist/esm/components/LoginPage/LoginForm.d.ts +2 -0
  138. package/dist/esm/components/LoginPage/LoginForm.d.ts.map +1 -1
  139. package/dist/esm/components/LoginPage/LoginForm.js +3 -3
  140. package/dist/esm/components/LoginPage/LoginForm.js.map +1 -1
  141. package/dist/esm/components/Nav/Nav.d.ts +1 -1
  142. package/dist/esm/components/Nav/Nav.d.ts.map +1 -1
  143. package/dist/esm/components/Nav/NavItemSeparator.d.ts.map +1 -1
  144. package/dist/esm/components/Nav/NavItemSeparator.js +2 -2
  145. package/dist/esm/components/Nav/NavItemSeparator.js.map +1 -1
  146. package/dist/esm/components/Page/Page.d.ts +3 -1
  147. package/dist/esm/components/Page/Page.d.ts.map +1 -1
  148. package/dist/esm/components/Page/Page.js +1 -1
  149. package/dist/esm/components/Page/Page.js.map +1 -1
  150. package/dist/esm/components/Select/SelectGroup.d.ts +1 -1
  151. package/dist/esm/components/Select/SelectGroup.d.ts.map +1 -1
  152. package/dist/esm/components/Tabs/Tabs.d.ts +1 -1
  153. package/dist/esm/components/Tabs/Tabs.d.ts.map +1 -1
  154. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  155. package/dist/esm/components/Toolbar/ToolbarGroup.d.ts +1 -1
  156. package/dist/esm/components/Toolbar/ToolbarGroup.d.ts.map +1 -1
  157. package/dist/esm/components/Toolbar/ToolbarItem.d.ts.map +1 -1
  158. package/dist/esm/components/Toolbar/ToolbarItem.js +4 -3
  159. package/dist/esm/components/Toolbar/ToolbarItem.js.map +1 -1
  160. package/dist/esm/components/TreeView/TreeViewListItem.d.ts +2 -2
  161. package/dist/esm/components/TreeView/TreeViewListItem.d.ts.map +1 -1
  162. package/dist/esm/components/Truncate/Truncate.d.ts +11 -1
  163. package/dist/esm/components/Truncate/Truncate.d.ts.map +1 -1
  164. package/dist/esm/components/Truncate/Truncate.js +43 -6
  165. package/dist/esm/components/Truncate/Truncate.js.map +1 -1
  166. package/dist/esm/components/Wizard/WizardNavInternal.js.map +1 -1
  167. package/dist/esm/deprecated/components/Wizard/WizardNavItem.d.ts.map +1 -1
  168. package/dist/esm/deprecated/components/Wizard/WizardNavItem.js +1 -1
  169. package/dist/esm/deprecated/components/Wizard/WizardNavItem.js.map +1 -1
  170. package/dist/js/components/Divider/Divider.d.ts +2 -0
  171. package/dist/js/components/Divider/Divider.d.ts.map +1 -1
  172. package/dist/js/components/Divider/Divider.js +2 -2
  173. package/dist/js/components/Divider/Divider.js.map +1 -1
  174. package/dist/js/components/Dropdown/DropdownGroup.d.ts +1 -1
  175. package/dist/js/components/Dropdown/DropdownGroup.d.ts.map +1 -1
  176. package/dist/js/components/ExpandableSection/ExpandableSection.d.ts +1 -1
  177. package/dist/js/components/ExpandableSection/ExpandableSection.d.ts.map +1 -1
  178. package/dist/js/components/ExpandableSection/ExpandableSectionToggle.d.ts +1 -1
  179. package/dist/js/components/ExpandableSection/ExpandableSectionToggle.d.ts.map +1 -1
  180. package/dist/js/components/Form/FormFieldGroup.d.ts +1 -1
  181. package/dist/js/components/Form/FormFieldGroup.d.ts.map +1 -1
  182. package/dist/js/components/Form/FormFieldGroupExpandable.d.ts +1 -1
  183. package/dist/js/components/Form/FormFieldGroupExpandable.d.ts.map +1 -1
  184. package/dist/js/components/Form/InternalFormFieldGroup.d.ts +1 -1
  185. package/dist/js/components/Form/InternalFormFieldGroup.d.ts.map +1 -1
  186. package/dist/js/components/List/List.d.ts.map +1 -1
  187. package/dist/js/components/List/List.js +2 -2
  188. package/dist/js/components/List/List.js.map +1 -1
  189. package/dist/js/components/List/ListItem.d.ts +4 -2
  190. package/dist/js/components/List/ListItem.d.ts.map +1 -1
  191. package/dist/js/components/List/ListItem.js +2 -2
  192. package/dist/js/components/List/ListItem.js.map +1 -1
  193. package/dist/js/components/LoginPage/LoginForm.d.ts +2 -0
  194. package/dist/js/components/LoginPage/LoginForm.d.ts.map +1 -1
  195. package/dist/js/components/LoginPage/LoginForm.js +3 -3
  196. package/dist/js/components/LoginPage/LoginForm.js.map +1 -1
  197. package/dist/js/components/Nav/Nav.d.ts +1 -1
  198. package/dist/js/components/Nav/Nav.d.ts.map +1 -1
  199. package/dist/js/components/Nav/NavItemSeparator.d.ts.map +1 -1
  200. package/dist/js/components/Nav/NavItemSeparator.js +2 -2
  201. package/dist/js/components/Nav/NavItemSeparator.js.map +1 -1
  202. package/dist/js/components/Page/Page.d.ts +3 -1
  203. package/dist/js/components/Page/Page.d.ts.map +1 -1
  204. package/dist/js/components/Page/Page.js +1 -1
  205. package/dist/js/components/Page/Page.js.map +1 -1
  206. package/dist/js/components/Select/SelectGroup.d.ts +1 -1
  207. package/dist/js/components/Select/SelectGroup.d.ts.map +1 -1
  208. package/dist/js/components/Tabs/Tabs.d.ts +1 -1
  209. package/dist/js/components/Tabs/Tabs.d.ts.map +1 -1
  210. package/dist/js/components/Tabs/Tabs.js.map +1 -1
  211. package/dist/js/components/Toolbar/ToolbarGroup.d.ts +1 -1
  212. package/dist/js/components/Toolbar/ToolbarGroup.d.ts.map +1 -1
  213. package/dist/js/components/Toolbar/ToolbarItem.d.ts.map +1 -1
  214. package/dist/js/components/Toolbar/ToolbarItem.js +4 -3
  215. package/dist/js/components/Toolbar/ToolbarItem.js.map +1 -1
  216. package/dist/js/components/TreeView/TreeViewListItem.d.ts +2 -2
  217. package/dist/js/components/TreeView/TreeViewListItem.d.ts.map +1 -1
  218. package/dist/js/components/Truncate/Truncate.d.ts +11 -1
  219. package/dist/js/components/Truncate/Truncate.d.ts.map +1 -1
  220. package/dist/js/components/Truncate/Truncate.js +42 -5
  221. package/dist/js/components/Truncate/Truncate.js.map +1 -1
  222. package/dist/js/components/Wizard/WizardNavInternal.js.map +1 -1
  223. package/dist/js/deprecated/components/Wizard/WizardNavItem.d.ts.map +1 -1
  224. package/dist/js/deprecated/components/Wizard/WizardNavItem.js +1 -1
  225. package/dist/js/deprecated/components/Wizard/WizardNavItem.js.map +1 -1
  226. package/dist/umd/assets/{output-o1HtgXp0.css → output-4sV3U4I1.css} +19812 -19724
  227. package/dist/umd/react-core.min.js +3 -3
  228. package/helpers/package.json +1 -1
  229. package/layouts/package.json +1 -1
  230. package/next/package.json +1 -1
  231. package/package.json +8 -8
  232. package/src/components/Alert/examples/Alert.md +0 -3
  233. package/src/components/Card/examples/Card.md +4 -0
  234. package/src/components/Card/examples/CardHeaderWraps.tsx +26 -0
  235. package/src/components/DescriptionList/examples/DescriptionListAutoFitBasic.tsx +1 -1
  236. package/src/components/DescriptionList/examples/DescriptionListAutoFitMinWidthModified.tsx +5 -1
  237. package/src/components/DescriptionList/examples/DescriptionListAutoFitMinWidthResponsive.tsx +5 -1
  238. package/src/components/DescriptionList/examples/DescriptionListBasic.tsx +1 -1
  239. package/src/components/DescriptionList/examples/DescriptionListColumnFill.tsx +1 -1
  240. package/src/components/DescriptionList/examples/DescriptionListCompact.tsx +1 -1
  241. package/src/components/DescriptionList/examples/DescriptionListCompactHorizontal.tsx +1 -1
  242. package/src/components/DescriptionList/examples/DescriptionListDefaultAutoColumn.tsx +1 -1
  243. package/src/components/DescriptionList/examples/DescriptionListDefaultInlineGrid.tsx +1 -1
  244. package/src/components/DescriptionList/examples/DescriptionListDefaultResponsiveColumns.tsx +1 -1
  245. package/src/components/DescriptionList/examples/DescriptionListDefaultThreeColLg.tsx +1 -1
  246. package/src/components/DescriptionList/examples/DescriptionListDefaultTwoCol.tsx +1 -0
  247. package/src/components/DescriptionList/examples/DescriptionListDisplaySizeAndCardHorizontalTermWidth.tsx +7 -1
  248. package/src/components/DescriptionList/examples/DescriptionListDisplaySizeAndCardThreeColumn.tsx +5 -1
  249. package/src/components/DescriptionList/examples/DescriptionListFluidHorizontal.tsx +1 -1
  250. package/src/components/DescriptionList/examples/DescriptionListHorizontal.tsx +1 -1
  251. package/src/components/DescriptionList/examples/DescriptionListHorizontalAutoColumn.tsx +6 -1
  252. package/src/components/DescriptionList/examples/DescriptionListHorizontalCustomTermWidth.tsx +1 -0
  253. package/src/components/DescriptionList/examples/DescriptionListHorizontalResponsiveColumns.tsx +1 -1
  254. package/src/components/DescriptionList/examples/DescriptionListHorizontalThreeColLg.tsx +1 -1
  255. package/src/components/DescriptionList/examples/DescriptionListHorizontalTwoCol.tsx +1 -1
  256. package/src/components/DescriptionList/examples/DescriptionListIconsOnTerms.tsx +1 -1
  257. package/src/components/DescriptionList/examples/DescriptionListResponsiveHoriVertGroup.tsx +1 -0
  258. package/src/components/DescriptionList/examples/DescriptionListWithCard.tsx +1 -1
  259. package/src/components/DescriptionList/examples/DescriptionListWithLargeDisplaySize.tsx +1 -1
  260. package/src/components/DescriptionList/examples/DescriptionListWithLargeDisplaySizeAndCard.tsx +5 -1
  261. package/src/components/DescriptionList/examples/DescriptionListWithTermHelpText.tsx +1 -1
  262. package/src/components/Divider/Divider.tsx +4 -1
  263. package/src/components/Divider/__tests__/Divider.test.tsx +10 -0
  264. package/src/components/Dropdown/DropdownGroup.tsx +1 -1
  265. package/src/components/DualListSelector/examples/DualListSelectorBasicSearch.tsx +1 -0
  266. package/src/components/DualListSelector/examples/DualListSelectorComplexOptionsActions.tsx +1 -0
  267. package/src/components/DualListSelector/examples/DualListSelectorTree.tsx +1 -0
  268. package/src/components/ExpandableSection/ExpandableSection.tsx +1 -1
  269. package/src/components/ExpandableSection/ExpandableSectionToggle.tsx +1 -1
  270. package/src/components/ExpandableSection/examples/ExpandableSectionBasic.tsx +5 -1
  271. package/src/components/ExpandableSection/examples/ExpandableSectionDetached.tsx +1 -1
  272. package/src/components/ExpandableSection/examples/ExpandableSectionDisclosure.tsx +3 -1
  273. package/src/components/ExpandableSection/examples/ExpandableSectionIndented.tsx +1 -1
  274. package/src/components/ExpandableSection/examples/ExpandableSectionTruncateExpansion.tsx +1 -1
  275. package/src/components/ExpandableSection/examples/ExpandableSectionUncontrolled.tsx +1 -1
  276. package/src/components/ExpandableSection/examples/ExpandableSectionUncontrolledDynamicToggleText.tsx +4 -1
  277. package/src/components/Form/FormFieldGroup.tsx +1 -1
  278. package/src/components/Form/FormFieldGroupExpandable.tsx +1 -1
  279. package/src/components/Form/InternalFormFieldGroup.tsx +1 -1
  280. package/src/components/List/List.tsx +3 -0
  281. package/src/components/List/ListItem.tsx +7 -4
  282. package/src/components/List/__tests__/List.test.tsx +97 -101
  283. package/src/components/List/__tests__/ListItem.test.tsx +51 -0
  284. package/src/components/List/__tests__/__snapshots__/List.test.tsx.snap +4 -261
  285. package/src/components/List/__tests__/__snapshots__/ListItem.test.tsx.snap +34 -0
  286. package/src/components/LoginPage/LoginForm.tsx +5 -2
  287. package/src/components/LoginPage/__tests__/LoginForm.test.tsx +12 -0
  288. package/src/components/LoginPage/examples/LoginPage.md +1 -0
  289. package/src/components/Nav/Nav.tsx +1 -1
  290. package/src/components/Nav/NavItemSeparator.tsx +2 -1
  291. package/src/components/Page/Page.tsx +4 -1
  292. package/src/components/Page/__tests__/Page.test.tsx +18 -0
  293. package/src/components/Progress/examples/ProgressTitleOutsideOfProgressBar.tsx +1 -1
  294. package/src/components/SearchInput/examples/SearchInputAdvanced.tsx +1 -0
  295. package/src/components/SearchInput/examples/SearchInputBasic.tsx +1 -0
  296. package/src/components/SearchInput/examples/SearchInputFocusSearch.tsx +7 -1
  297. package/src/components/SearchInput/examples/SearchInputWithExpandable.tsx +1 -0
  298. package/src/components/SearchInput/examples/SearchInputWithNavigableOptions.tsx +1 -0
  299. package/src/components/SearchInput/examples/SearchInputWithResultCount.tsx +1 -0
  300. package/src/components/SearchInput/examples/SearchInputWithSubmitButton.tsx +1 -0
  301. package/src/components/Select/SelectGroup.tsx +1 -1
  302. package/src/components/Skeleton/examples/SkeletonDefault.tsx +1 -1
  303. package/src/components/Skeleton/examples/SkeletonPercentageHeight.tsx +6 -6
  304. package/src/components/Skeleton/examples/SkeletonPercentageWidth.tsx +5 -5
  305. package/src/components/Skeleton/examples/SkeletonShapes.tsx +9 -9
  306. package/src/components/Skeleton/examples/SkeletonText.tsx +7 -7
  307. package/src/components/Tabs/Tabs.tsx +3 -1
  308. package/src/components/Toolbar/ToolbarGroup.tsx +1 -1
  309. package/src/components/Toolbar/ToolbarItem.tsx +11 -1
  310. package/src/components/TreeView/TreeViewListItem.tsx +2 -2
  311. package/src/components/TreeView/__tests__/TreeView.test.tsx +26 -1
  312. package/src/components/TreeView/__tests__/TreeViewList.test.tsx +46 -0
  313. package/src/components/TreeView/__tests__/TreeViewListItem.test.tsx +278 -156
  314. package/src/components/TreeView/__tests__/TreeViewSearch.test.tsx +12 -1
  315. package/src/components/TreeView/__tests__/__snapshots__/TreeView.test.tsx.snap +9 -0
  316. package/src/components/Truncate/Truncate.tsx +109 -22
  317. package/src/components/Truncate/__tests__/Truncate.test.tsx +70 -2
  318. package/src/components/Truncate/__tests__/__snapshots__/Truncate.test.tsx.snap +37 -0
  319. package/src/components/Truncate/examples/Truncate.md +32 -36
  320. package/src/components/Truncate/examples/TruncateCustomTooltipPosition.tsx +10 -0
  321. package/src/components/Truncate/examples/TruncateDefault.tsx +7 -0
  322. package/src/components/Truncate/examples/TruncateMaxChars.tsx +27 -0
  323. package/src/components/Truncate/examples/TruncateMiddle.tsx +11 -0
  324. package/src/components/Truncate/examples/TruncateStart.tsx +7 -0
  325. package/src/components/Wizard/WizardNavInternal.tsx +1 -1
  326. package/src/components/Wizard/examples/WizardGetCurrentStep.tsx +1 -1
  327. package/src/demos/DescriptionList/examples/DescriptionListBasic.tsx +1 -1
  328. package/src/demos/DescriptionList/examples/DescriptionListInDrawer.tsx +1 -1
  329. package/src/demos/ExpandableSection/examples/ExpandableTextDemo.tsx +1 -1
  330. package/src/demos/SearchInput/SearchInput.md +2 -0
  331. package/src/demos/examples/Card/CardDetails.tsx +2 -2
  332. package/src/demos/examples/Card/CardEventsView.tsx +1 -1
  333. package/src/demos/examples/Card/CardLogView.tsx +1 -1
  334. package/src/demos/examples/Card/CardStatusTabbed.tsx +3 -3
  335. package/src/demos/examples/Skeleton/SkeletonCard.tsx +6 -6
  336. package/src/deprecated/components/Wizard/WizardNavItem.tsx +13 -11
  337. package/src/deprecated/components/Wizard/__tests__/Generated/__snapshots__/WizardNavItem.test.tsx.snap +5 -1
  338. package/src/deprecated/components/Wizard/__tests__/__snapshots__/Wizard.test.tsx.snap +83 -31
  339. package/src/components/List/__tests__/Generated/ListItem.test.tsx +0 -12
  340. package/src/components/List/__tests__/Generated/__snapshots__/ListItem.test.tsx.snap +0 -13
@@ -48,4 +48,16 @@ describe('LoginForm', () => {
48
48
  const { asFragment } = render(<LoginForm isShowPasswordEnabled />);
49
49
  expect(asFragment()).toMatchSnapshot();
50
50
  });
51
+
52
+ test('Renders LoginForm with password field required by default', () => {
53
+ render(<LoginForm />);
54
+ const passwordField = screen.getByLabelText(/password/i);
55
+ expect(passwordField).toBeRequired();
56
+ });
57
+
58
+ test('Renders LoginForm with password field not required when isPasswordRequired set to false', () => {
59
+ render(<LoginForm isPasswordRequired={false} />);
60
+ const passwordField = screen.getByLabelText(/password/i);
61
+ expect(passwordField).not.toBeRequired();
62
+ });
51
63
  });
@@ -31,6 +31,7 @@ import GitlabIcon from '@patternfly/react-icons/dist/esm/icons/gitlab-icon';
31
31
 
32
32
  ### Basic
33
33
 
34
+ By default, a login page requires users to enter both a username and a password into their respective fields. The username must always be a required field, but you can make the password optional by passing the `isPasswordRequired` property to the `<LoginForm>`.
34
35
  ```ts file='./LoginPageBasic.tsx' isFullscreen
35
36
 
36
37
  ```
@@ -10,7 +10,7 @@ export type NavSelectClickHandler = (
10
10
  to: string
11
11
  ) => void;
12
12
  export interface NavProps
13
- extends Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>, 'onSelect'>,
13
+ extends Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>, 'onSelect' | 'onToggle'>,
14
14
  OUIAProps {
15
15
  /** Anything that can be rendered inside of the nav */
16
16
  children?: React.ReactNode;
@@ -2,6 +2,7 @@ import { Divider, DividerProps } from '../Divider';
2
2
 
3
3
  export const NavItemSeparator: React.FunctionComponent<DividerProps> = ({
4
4
  component = 'li',
5
+ role = 'presentation',
5
6
  ...props
6
- }: DividerProps) => <Divider component={component} {...props} />;
7
+ }: DividerProps) => <Divider component={component} role={role} {...props} />;
7
8
  NavItemSeparator.displayName = 'NavItemSeparator';
@@ -22,7 +22,9 @@ export interface PageProps extends React.HTMLProps<HTMLDivElement> {
22
22
  className?: string;
23
23
  /** Masthead component (e.g. <Masthead />) */
24
24
  masthead?: React.ReactNode;
25
- /** Sidebar component for a side nav (e.g. <PageSidebar />) */
25
+ /** Sidebar component for a side nav, recommended to be a PageSidebar. If set to null, the page grid layout
26
+ * will render without a sidebar.
27
+ */
26
28
  sidebar?: React.ReactNode;
27
29
  /** Notification drawer component for an optional notification drawer (e.g. <NotificationDrawer />) */
28
30
  notificationDrawer?: React.ReactNode;
@@ -336,6 +338,7 @@ class Page extends Component<PageProps, PageState> {
336
338
  width !== null && height !== null && 'pf-m-resize-observer',
337
339
  width !== null && `pf-m-breakpoint-${getBreakpoint(width)}`,
338
340
  height !== null && `pf-m-height-breakpoint-${getVerticalBreakpoint(height)}`,
341
+ sidebar === null && styles.modifiers.noSidebar,
339
342
  className
340
343
  )}
341
344
  >
@@ -353,6 +353,24 @@ describe('Page', () => {
353
353
  expect(asFragment()).toMatchSnapshot();
354
354
  });
355
355
 
356
+ test(`Does not render with class ${styles.modifiers.noSidebar} by default`, () => {
357
+ render(<Page data-testid="page"></Page>);
358
+
359
+ expect(screen.getByTestId('page')).not.toHaveClass(styles.modifiers.noSidebar);
360
+ });
361
+
362
+ test(`Does not render with class ${styles.modifiers.noSidebar} when sidebar prop is passed with valid content`, () => {
363
+ render(<Page data-testid="page" sidebar={<div>sidebar content</div>}></Page>);
364
+
365
+ expect(screen.getByTestId('page')).not.toHaveClass(styles.modifiers.noSidebar);
366
+ });
367
+
368
+ test(`Renders with class ${styles.modifiers.noSidebar} when sidebar is set to null`, () => {
369
+ render(<Page data-testid="page" sidebar={null}></Page>);
370
+
371
+ expect(screen.getByTestId('page')).toHaveClass(styles.modifiers.noSidebar);
372
+ });
373
+
356
374
  test(`Does not render with ${styles.modifiers.fill} or ${styles.modifiers.noFill} if isContentFilled is not passed`, () => {
357
375
  render(<Page {...props} role="main"></Page>);
358
376
 
@@ -8,7 +8,7 @@ import {
8
8
  } from '@patternfly/react-core';
9
9
 
10
10
  export const ProgressTitleOutsideOfProgressBar: React.FunctionComponent = () => (
11
- <DescriptionList>
11
+ <DescriptionList aria-label="Progress Title outside of progress bar">
12
12
  <DescriptionListGroup>
13
13
  <DescriptionListTerm id="title-outside-progress-example-label">Title outside of progress bar</DescriptionListTerm>
14
14
  <DescriptionListDescription>
@@ -32,6 +32,7 @@ export const SearchInputAdvanced: React.FunctionComponent = () => {
32
32
  />
33
33
  <br />
34
34
  <SearchInput
35
+ aria-label="Advanced search"
35
36
  attributes={[
36
37
  { attr: 'username', display: 'Username' },
37
38
  { attr: 'firstname', display: 'First name' }
@@ -10,6 +10,7 @@ export const SearchInputBasic: React.FunctionComponent = () => {
10
10
 
11
11
  return (
12
12
  <SearchInput
13
+ aria-label="Search basic example"
13
14
  placeholder="Find by name"
14
15
  value={value}
15
16
  onChange={(_event, value) => onChange(value)}
@@ -7,7 +7,13 @@ export const SearchInputFocusSearch: React.FunctionComponent = () => {
7
7
 
8
8
  return (
9
9
  <>
10
- <SearchInput ref={ref} value={value} onChange={(_event, value) => setValue(value)} onClear={() => setValue('')} />
10
+ <SearchInput
11
+ ref={ref}
12
+ value={value}
13
+ onChange={(_event, value) => setValue(value)}
14
+ onClear={() => setValue('')}
15
+ aria-label="Search focus using ref example"
16
+ />
11
17
  <Button onClick={() => ref.current && ref.current.focus()}>Focus on the search input</Button>
12
18
  </>
13
19
  );
@@ -15,6 +15,7 @@ export const SearchInputWithExpandable: React.FunctionComponent = () => {
15
15
 
16
16
  return (
17
17
  <SearchInput
18
+ aria-label="Search with expandable button example"
18
19
  placeholder="Find by name"
19
20
  value={value}
20
21
  onChange={(_event, value) => onChange(value)}
@@ -29,6 +29,7 @@ export const SearchInputWithNavigableOptions: React.FunctionComponent = () => {
29
29
 
30
30
  return (
31
31
  <SearchInput
32
+ aria-label="Search match with navigable options example"
32
33
  placeholder="Find by name"
33
34
  value={value}
34
35
  onChange={(_event, value) => onChange(value)}
@@ -17,6 +17,7 @@ export const SearchInputWithResultCount: React.FunctionComponent = () => {
17
17
 
18
18
  return (
19
19
  <SearchInput
20
+ aria-label="Match with result count"
20
21
  placeholder="Find by name"
21
22
  value={value}
22
23
  onChange={(_event, value) => onChange(value)}
@@ -6,6 +6,7 @@ export const SearchInputWithSubmitButton: React.FunctionComponent = () => {
6
6
 
7
7
  return (
8
8
  <SearchInput
9
+ aria-label="Search with submit button example"
9
10
  placeholder="Find by name"
10
11
  value={value}
11
12
  onChange={(_event, value) => setValue(value)}
@@ -10,7 +10,7 @@ export interface SelectGroupProps extends Omit<MenuGroupProps, 'ref'> {
10
10
  /** Classes applied to root element of select group */
11
11
  className?: string;
12
12
  /** Label of the select group */
13
- label?: string;
13
+ label?: React.ReactNode;
14
14
  }
15
15
 
16
16
  export const SelectGroup: React.FunctionComponent<SelectGroupProps> = ({
@@ -1,3 +1,3 @@
1
1
  import { Skeleton } from '@patternfly/react-core';
2
2
 
3
- export const SkeletonDefault: React.FunctionComponent = () => <Skeleton screenreaderText="Loading contents" />;
3
+ export const SkeletonDefault: React.FunctionComponent = () => <Skeleton screenreaderText="Loading default content" />;
@@ -2,11 +2,11 @@ import { Skeleton } from '@patternfly/react-core';
2
2
 
3
3
  export const SkeletonPercentageHeight: React.FunctionComponent = () => (
4
4
  <div style={{ height: '400px', display: 'flex', alignItems: 'flex-end', justifyContent: 'space-between' }}>
5
- <Skeleton height="25%" width="15%" screenreaderText="Loaded 25% of content" />
6
- <Skeleton height="33%" width="15%" screenreaderText="Loaded 33% of content" />
7
- <Skeleton height="50%" width="15%" screenreaderText="Loaded 50% of content" />
8
- <Skeleton height="66%" width="15%" screenreaderText="Loaded 66% of content" />
9
- <Skeleton height="75%" width="15%" screenreaderText="Loaded 75% of content" />
10
- <Skeleton height="100%" width="15%" screenreaderText="Loaded 100% of content" />
5
+ <Skeleton height="25%" width="15%" screenreaderText="Loading percentage height content" />
6
+ <Skeleton height="33%" width="15%" />
7
+ <Skeleton height="50%" width="15%" />
8
+ <Skeleton height="66%" width="15%" />
9
+ <Skeleton height="75%" width="15%" />
10
+ <Skeleton height="100%" width="15%" />
11
11
  </div>
12
12
  );
@@ -3,15 +3,15 @@ import { Skeleton } from '@patternfly/react-core';
3
3
 
4
4
  export const SkeletonPercentageWidth: React.FunctionComponent = () => (
5
5
  <Fragment>
6
- <Skeleton width="25%" screenreaderText="Loaded 25% of content" />
6
+ <Skeleton width="25%" screenreaderText="Loading percentage width content" />
7
7
  <br />
8
- <Skeleton width="33%" screenreaderText="Loaded 33% of content" />
8
+ <Skeleton width="33%" />
9
9
  <br />
10
- <Skeleton width="50%" screenreaderText="Loaded 50% of content" />
10
+ <Skeleton width="50%" />
11
11
  <br />
12
- <Skeleton width="66%" screenreaderText="Loaded 66% of content" />
12
+ <Skeleton width="66%" />
13
13
  <br />
14
- <Skeleton width="75%" screenreaderText="Loaded 75% of content" />
14
+ <Skeleton width="75%" />
15
15
  <br />
16
16
  <Skeleton />
17
17
  </Fragment>
@@ -4,36 +4,36 @@ import { Skeleton } from '@patternfly/react-core';
4
4
  export const SkeletonShapes: React.FunctionComponent = () => (
5
5
  <Fragment>
6
6
  Small circle
7
- <Skeleton shape="circle" width="15%" screenreaderText="Loading small circle contents" />
7
+ <Skeleton shape="circle" width="15%" screenreaderText="Loading circle content" />
8
8
  <br />
9
9
  Medium circle
10
- <Skeleton shape="circle" width="30%" screenreaderText="Loading medium circle contents" />
10
+ <Skeleton shape="circle" width="30%" />
11
11
  <br />
12
12
  Large circle
13
- <Skeleton shape="circle" width="50%" screenreaderText="Loading large circle contents" />
13
+ <Skeleton shape="circle" width="50%" />
14
14
  <br />
15
15
  Small square
16
- <Skeleton shape="square" width="15%" screenreaderText="Loading small square contents" />
16
+ <Skeleton shape="square" width="15%" screenreaderText="Loading square content" />
17
17
  <br />
18
18
  Medium square
19
- <Skeleton shape="square" width="30%" screenreaderText="Loading medium square contents" />
19
+ <Skeleton shape="square" width="30%" />
20
20
  <br />
21
21
  Large square
22
- <Skeleton shape="square" width="50%" screenreaderText="Loading large square contents" />
22
+ <Skeleton shape="square" width="50%" />
23
23
  <br />
24
24
  Small rectangle
25
25
  <div style={{ height: '200px' }}>
26
- <Skeleton height="50%" width="50%" screenreaderText="Loading small rectangle contents" />
26
+ <Skeleton height="50%" width="50%" screenreaderText="Loading rectangle content" />
27
27
  </div>
28
28
  <br />
29
29
  Medium rectangle
30
30
  <div style={{ height: '200px' }}>
31
- <Skeleton height="75%" width="75%" screenreaderText="Loading medium rectangle contents" />
31
+ <Skeleton height="75%" width="75%" />
32
32
  </div>
33
33
  <br />
34
34
  Large rectangle
35
35
  <div style={{ height: '200px' }}>
36
- <Skeleton height="100%" screenreaderText="Loading large rectangle contents" />
36
+ <Skeleton height="100%" />
37
37
  </div>
38
38
  </Fragment>
39
39
  );
@@ -12,24 +12,24 @@ import t_global_font_size_sm from '@patternfly/react-tokens/dist/esm/t_global_fo
12
12
  export const SkeletonText: React.FunctionComponent = () => (
13
13
  <Fragment>
14
14
  {t_global_font_size_4xl.name}
15
- <Skeleton fontSize="4xl" screenreaderText="Loading font size 4xl" />
15
+ <Skeleton fontSize="4xl" screenreaderText="Loading text content" />
16
16
  <br />
17
17
  {t_global_font_size_3xl.name}
18
- <Skeleton fontSize="3xl" screenreaderText="Loading font size 3xl" />
18
+ <Skeleton fontSize="3xl" />
19
19
  <br />
20
20
  {t_global_font_size_2xl.name}
21
- <Skeleton fontSize="2xl" screenreaderText="Loading font size 2xl" />
21
+ <Skeleton fontSize="2xl" />
22
22
  <br />
23
23
  {t_global_font_size_xl.name}
24
- <Skeleton fontSize="xl" screenreaderText="Loading font size xl" />
24
+ <Skeleton fontSize="xl" />
25
25
  <br />
26
26
  {t_global_font_size_lg.name}
27
- <Skeleton fontSize="lg" screenreaderText="Loading font size lg" />
27
+ <Skeleton fontSize="lg" />
28
28
  <br />
29
29
  {t_global_font_size_md.name}
30
- <Skeleton fontSize="md" screenreaderText="Loading font size md" />
30
+ <Skeleton fontSize="md" />
31
31
  <br />
32
32
  {t_global_font_size_sm.name}
33
- <Skeleton fontSize="sm" screenreaderText="Loading font size sm" />
33
+ <Skeleton fontSize="sm" />
34
34
  </Fragment>
35
35
  );
@@ -31,7 +31,9 @@ export interface HorizontalOverflowObject {
31
31
  type TabElement = React.ReactElement<TabProps, React.JSXElementConstructor<TabProps>>;
32
32
  type TabsChild = TabElement | boolean | null | undefined;
33
33
 
34
- export interface TabsProps extends Omit<React.HTMLProps<HTMLElement | HTMLDivElement>, 'onSelect'>, OUIAProps {
34
+ export interface TabsProps
35
+ extends Omit<React.HTMLProps<HTMLElement | HTMLDivElement>, 'onSelect' | 'onToggle'>,
36
+ OUIAProps {
35
37
  /** Content rendered inside the tabs component. Only `Tab` components or expressions resulting in a falsy value are allowed here. */
36
38
  children: TabsChild | TabsChild[];
37
39
  /** Additional classes added to the tabs */
@@ -12,7 +12,7 @@ export enum ToolbarGroupVariant {
12
12
  'label-group' = 'label-group'
13
13
  }
14
14
 
15
- export interface ToolbarGroupProps extends Omit<React.HTMLProps<HTMLDivElement>, 'ref'> {
15
+ export interface ToolbarGroupProps extends Omit<React.HTMLProps<HTMLDivElement>, 'ref' | 'onToggle'> {
16
16
  /** Classes applied to root element of the data toolbar group */
17
17
  className?: string;
18
18
  /** A type modifier which modifies spacing specifically depending on the type of group */
@@ -185,10 +185,19 @@ export const ToolbarItem: React.FunctionComponent<ToolbarItemProps> = ({
185
185
  children,
186
186
  isAllExpanded,
187
187
  isOverflowContainer,
188
+ role,
188
189
  ...props
189
190
  }: ToolbarItemProps) => {
190
191
  if (variant === ToolbarItemVariant.separator) {
191
- return <Divider className={css(className)} orientation={{ default: 'vertical' }} {...props} />;
192
+ const isDividerRoleValid = role === 'separator' || role === 'presentation';
193
+ return (
194
+ <Divider
195
+ className={css(className)}
196
+ orientation={{ default: 'vertical' }}
197
+ {...props}
198
+ {...(isDividerRoleValid && { role: role as 'separator' | 'presentation' })}
199
+ />
200
+ );
192
201
  }
193
202
 
194
203
  return (
@@ -217,6 +226,7 @@ export const ToolbarItem: React.FunctionComponent<ToolbarItemProps> = ({
217
226
  )}
218
227
  {...(variant === 'label' && { 'aria-hidden': true })}
219
228
  id={id}
229
+ role={role}
220
230
  {...props}
221
231
  >
222
232
  {children}
@@ -50,11 +50,11 @@ export interface TreeViewListItemProps {
50
50
  /** Internal content of a tree view item. */
51
51
  name: React.ReactNode;
52
52
  /** Callback for item checkbox selection. */
53
- onCheck?: (event: React.ChangeEvent<HTMLInputElement>, item: TreeViewDataItem, parent: TreeViewDataItem) => void;
53
+ onCheck?: (event: React.ChangeEvent<HTMLInputElement>, item: TreeViewDataItem, parentItem: TreeViewDataItem) => void;
54
54
  /** Callback for item selection. Note: calling event.preventDefault() will prevent the node
55
55
  * from toggling.
56
56
  */
57
- onSelect?: (event: React.MouseEvent, item: TreeViewDataItem, parent: TreeViewDataItem) => void;
57
+ onSelect?: (event: React.MouseEvent, item: TreeViewDataItem, parentItem: TreeViewDataItem) => void;
58
58
  /** Callback for expanding a node with children. */
59
59
  onExpand?: (event: React.MouseEvent, item: TreeViewDataItem, parentItem: TreeViewDataItem) => void;
60
60
  /** Callback for collapsing a node with children. */
@@ -3,10 +3,20 @@ import userEvent from '@testing-library/user-event';
3
3
  import { TreeView } from '../TreeView';
4
4
 
5
5
  jest.mock('../TreeViewList', () => ({
6
- TreeViewList: ({ children, isNested, toolbar }) => (
6
+ TreeViewList: ({
7
+ children,
8
+ isNested,
9
+ toolbar,
10
+ 'aria-label': ariaLabel,
11
+ 'aria-labelledby': ariaLabelledBy,
12
+ isMultiSelectable
13
+ }) => (
7
14
  <div data-testid="TreeViewList-mock">
8
15
  <p>{`TreeViewList isNested: ${isNested}`}</p>
9
16
  <p>{`TreeViewList toolbar: ${toolbar}`}</p>
17
+ <p>{`TreeViewList aria-label: ${ariaLabel}`}</p>
18
+ <p>{`TreeViewList aria-labelledBy: ${ariaLabelledBy}`}</p>
19
+ <p>{`TreeViewList isMultiSelectable: ${isMultiSelectable}`}</p>
10
20
  <div data-testid="TreeViewList-children">{children}</div>
11
21
  </div>
12
22
  )
@@ -131,6 +141,21 @@ test('Passes toolbar to TreeViewList', () => {
131
141
 
132
142
  expect(screen.getByText('TreeViewList toolbar: Toolbar content')).toBeVisible();
133
143
  });
144
+ test('Passes aria-label to TreeViewList', () => {
145
+ render(<TreeView aria-label="Test aria-label" data={[basicData]} />);
146
+
147
+ expect(screen.getByText('TreeViewList aria-label: Test aria-label')).toBeVisible();
148
+ });
149
+ test('Passes aria-labelledby to TreeViewList', () => {
150
+ render(<TreeView aria-labelledby="test-aria-labelledby" data={[basicData]} />);
151
+
152
+ expect(screen.getByText('TreeViewList aria-labelledBy: test-aria-labelledby')).toBeVisible();
153
+ });
154
+ test('Passes isMultiSelectable to TreeViewList', () => {
155
+ render(<TreeView isMultiSelectable={true} data={[basicData]} />);
156
+
157
+ expect(screen.getByText('TreeViewList isMultiSelectable: true')).toBeVisible();
158
+ });
134
159
  test('Passes data as children TreeViewList', () => {
135
160
  render(<TreeView data={[basicData]} />);
136
161
 
@@ -32,9 +32,55 @@ test(`Renders toolbar content when toolbar prop is passed`, () => {
32
32
  expect(screen.getByText('Toolbar content')).toBeInTheDocument();
33
33
  });
34
34
 
35
+ test(`Renders Divider when toolbar prop is passed`, () => {
36
+ render(<TreeViewList toolbar="Toolbar content">Content</TreeViewList>);
37
+
38
+ expect(screen.getByRole('separator')).toBeInTheDocument();
39
+ });
40
+
41
+ test('Renders with aria-label when passed', () => {
42
+ render(<TreeViewList aria-label="Test aria-label">Content</TreeViewList>);
43
+
44
+ expect(screen.getByRole('tree')).toHaveAccessibleName('Test aria-label');
45
+ });
46
+
47
+ test('Renders with aria-labelledby when passed', () => {
48
+ render(
49
+ <>
50
+ <div id="label">Labeling content</div>
51
+ <TreeViewList aria-labelledby="label">Content</TreeViewList>
52
+ </>
53
+ );
54
+
55
+ expect(screen.getByRole('tree')).toHaveAccessibleName('Labeling content');
56
+ });
57
+
58
+ test('Renders with aria-multiselectable of false by default', () => {
59
+ render(<TreeViewList>Content</TreeViewList>);
60
+
61
+ expect(screen.getByRole('tree')).toHaveAttribute('aria-multiselectable', 'false');
62
+ });
63
+
64
+ test('Renders with aria-multiselectable of true when isMultiSelectable is true', () => {
65
+ render(<TreeViewList isMultiSelectable>Content</TreeViewList>);
66
+
67
+ expect(screen.getByRole('tree')).toHaveAttribute('aria-multiselectable', 'true');
68
+ });
69
+
70
+ test('Does not render with aria-multiselectable when isNested is true', () => {
71
+ render(
72
+ <TreeViewList isMultiSelectable isNested>
73
+ Content
74
+ </TreeViewList>
75
+ );
76
+
77
+ expect(screen.getByRole('group')).not.toHaveAttribute('aria-multiselectable');
78
+ });
79
+
35
80
  test(`Does not render toolbar content when toolbar prop is not passed`, () => {
36
81
  render(<TreeViewList>Content</TreeViewList>);
37
82
 
83
+ expect(screen.queryByRole('tree')?.previousElementSibling).not.toBeInTheDocument();
38
84
  expect(screen.queryByRole('separator')).not.toBeInTheDocument();
39
85
  });
40
86