@patternfly/react-core 5.2.0-prerelease.9 → 6.0.0-alpha.2

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 (405) hide show
  1. package/CHANGELOG.md +129 -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/Chip/package.json +1 -1
  21. package/dist/dynamic/components/ClipboardCopy/package.json +1 -1
  22. package/dist/dynamic/components/CodeBlock/package.json +1 -1
  23. package/dist/dynamic/components/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/DragDrop/package.json +1 -1
  28. package/dist/dynamic/components/Drawer/package.json +1 -1
  29. package/dist/dynamic/components/Dropdown/package.json +1 -1
  30. package/dist/dynamic/components/DualListSelector/package.json +1 -1
  31. package/dist/dynamic/components/EmptyState/package.json +1 -1
  32. package/dist/dynamic/components/ExpandableSection/package.json +1 -1
  33. package/dist/dynamic/components/FileUpload/package.json +1 -1
  34. package/dist/dynamic/components/Form/package.json +1 -1
  35. package/dist/dynamic/components/FormSelect/package.json +1 -1
  36. package/dist/dynamic/components/HelperText/package.json +1 -1
  37. package/dist/dynamic/components/Hint/package.json +1 -1
  38. package/dist/dynamic/components/Icon/package.json +1 -1
  39. package/dist/dynamic/components/InputGroup/package.json +1 -1
  40. package/dist/dynamic/components/JumpLinks/package.json +1 -1
  41. package/dist/dynamic/components/Label/package.json +1 -1
  42. package/dist/dynamic/components/List/package.json +1 -1
  43. package/dist/dynamic/components/LoginPage/package.json +1 -1
  44. package/dist/dynamic/components/Masthead/package.json +1 -1
  45. package/dist/dynamic/components/Menu/package.json +1 -1
  46. package/dist/dynamic/components/MenuToggle/package.json +1 -1
  47. package/dist/dynamic/components/Modal/package.json +1 -1
  48. package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
  49. package/dist/dynamic/components/Nav/package.json +1 -1
  50. package/dist/dynamic/components/NotificationBadge/package.json +1 -1
  51. package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
  52. package/dist/dynamic/components/NumberInput/package.json +1 -1
  53. package/dist/dynamic/components/OverflowMenu/package.json +1 -1
  54. package/dist/dynamic/components/Page/package.json +1 -1
  55. package/dist/dynamic/components/Pagination/package.json +1 -1
  56. package/dist/dynamic/components/Panel/package.json +1 -1
  57. package/dist/dynamic/components/Popover/package.json +1 -1
  58. package/dist/dynamic/components/Progress/package.json +1 -1
  59. package/dist/dynamic/components/ProgressStepper/package.json +1 -1
  60. package/dist/dynamic/components/Radio/package.json +1 -1
  61. package/dist/dynamic/components/SearchInput/package.json +1 -1
  62. package/dist/dynamic/components/Select/package.json +1 -1
  63. package/dist/dynamic/components/Sidebar/package.json +1 -1
  64. package/dist/dynamic/components/SimpleList/package.json +1 -1
  65. package/dist/dynamic/components/Skeleton/package.json +1 -1
  66. package/dist/dynamic/components/SkipToContent/package.json +1 -1
  67. package/dist/dynamic/components/Slider/package.json +1 -1
  68. package/dist/dynamic/components/Spinner/package.json +1 -1
  69. package/dist/dynamic/components/Switch/package.json +1 -1
  70. package/dist/dynamic/components/Tabs/package.json +1 -1
  71. package/dist/dynamic/components/Text/package.json +1 -1
  72. package/dist/dynamic/components/TextArea/package.json +1 -1
  73. package/dist/dynamic/components/TextInput/package.json +1 -1
  74. package/dist/dynamic/components/TextInputGroup/package.json +1 -1
  75. package/dist/dynamic/components/Tile/package.json +1 -1
  76. package/dist/dynamic/components/TimePicker/package.json +1 -1
  77. package/dist/dynamic/components/Timestamp/package.json +1 -1
  78. package/dist/dynamic/components/Title/package.json +1 -1
  79. package/dist/dynamic/components/ToggleGroup/package.json +1 -1
  80. package/dist/dynamic/components/Toolbar/package.json +1 -1
  81. package/dist/dynamic/components/Tooltip/package.json +1 -1
  82. package/dist/dynamic/components/TreeView/package.json +1 -1
  83. package/dist/dynamic/components/Truncate/package.json +1 -1
  84. package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
  85. package/dist/dynamic/components/Wizard/package.json +1 -1
  86. package/dist/dynamic/deprecated/components/ApplicationLauncher/package.json +1 -1
  87. package/dist/dynamic/deprecated/components/ContextSelector/package.json +1 -1
  88. package/dist/dynamic/deprecated/components/Dropdown/package.json +1 -1
  89. package/dist/dynamic/deprecated/components/OptionsMenu/package.json +1 -1
  90. package/dist/dynamic/deprecated/components/PageHeader/package.json +1 -1
  91. package/dist/dynamic/deprecated/components/Select/package.json +1 -1
  92. package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
  93. package/dist/dynamic/deprecated/components/package.json +1 -1
  94. package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
  95. package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
  96. package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
  97. package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
  98. package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
  99. package/dist/dynamic/helpers/constants/package.json +1 -1
  100. package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
  101. package/dist/dynamic/helpers/favorites/package.json +1 -1
  102. package/dist/dynamic/helpers/fileUtils/package.json +1 -1
  103. package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
  104. package/dist/dynamic/helpers/package.json +1 -1
  105. package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
  106. package/dist/dynamic/helpers/typeUtils/package.json +1 -1
  107. package/dist/dynamic/helpers/useInterval/package.json +1 -1
  108. package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
  109. package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
  110. package/dist/dynamic/helpers/util/package.json +1 -1
  111. package/dist/dynamic/layouts/Bullseye/package.json +1 -1
  112. package/dist/dynamic/layouts/Flex/package.json +1 -1
  113. package/dist/dynamic/layouts/Gallery/package.json +1 -1
  114. package/dist/dynamic/layouts/Grid/package.json +1 -1
  115. package/dist/dynamic/layouts/Level/package.json +1 -1
  116. package/dist/dynamic/layouts/Split/package.json +1 -1
  117. package/dist/dynamic/layouts/Stack/package.json +1 -1
  118. package/dist/dynamic/next/components/package.json +1 -1
  119. package/dist/esm/components/CalendarMonth/CalendarMonth.d.ts.map +1 -1
  120. package/dist/esm/components/CalendarMonth/CalendarMonth.js +15 -39
  121. package/dist/esm/components/CalendarMonth/CalendarMonth.js.map +1 -1
  122. package/dist/esm/components/Chip/Chip.d.ts.map +1 -1
  123. package/dist/esm/components/Chip/Chip.js +2 -2
  124. package/dist/esm/components/Chip/Chip.js.map +1 -1
  125. package/dist/esm/components/ClipboardCopy/ClipboardCopy.d.ts +1 -1
  126. package/dist/esm/components/ClipboardCopy/ClipboardCopy.d.ts.map +1 -1
  127. package/dist/esm/components/ClipboardCopy/ClipboardCopyButton.d.ts.map +1 -1
  128. package/dist/esm/components/ClipboardCopy/ClipboardCopyButton.js +2 -2
  129. package/dist/esm/components/ClipboardCopy/ClipboardCopyButton.js.map +1 -1
  130. package/dist/esm/components/ClipboardCopy/ClipboardCopyToggle.js +1 -1
  131. package/dist/esm/components/ClipboardCopy/ClipboardCopyToggle.js.map +1 -1
  132. package/dist/esm/components/Drawer/DrawerPanelContent.js +4 -4
  133. package/dist/esm/components/Drawer/DrawerPanelContent.js.map +1 -1
  134. package/dist/esm/components/Dropdown/Dropdown.d.ts +2 -0
  135. package/dist/esm/components/Dropdown/Dropdown.d.ts.map +1 -1
  136. package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
  137. package/dist/esm/components/ExpandableSection/ExpandableSection.js +1 -1
  138. package/dist/esm/components/ExpandableSection/ExpandableSection.js.map +1 -1
  139. package/dist/esm/components/InputGroup/InputGroup.d.ts.map +1 -1
  140. package/dist/esm/components/InputGroup/InputGroup.js +1 -51
  141. package/dist/esm/components/InputGroup/InputGroup.js.map +1 -1
  142. package/dist/esm/components/Masthead/Masthead.d.ts +0 -2
  143. package/dist/esm/components/Masthead/Masthead.d.ts.map +1 -1
  144. package/dist/esm/components/Masthead/Masthead.js +3 -3
  145. package/dist/esm/components/Masthead/Masthead.js.map +1 -1
  146. package/dist/esm/components/Menu/Menu.d.ts.map +1 -1
  147. package/dist/esm/components/Menu/Menu.js +2 -1
  148. package/dist/esm/components/Menu/Menu.js.map +1 -1
  149. package/dist/esm/components/Menu/MenuContainer.d.ts +2 -0
  150. package/dist/esm/components/Menu/MenuContainer.d.ts.map +1 -1
  151. package/dist/esm/components/Menu/MenuContainer.js.map +1 -1
  152. package/dist/esm/components/Nav/NavExpandable.d.ts +3 -3
  153. package/dist/esm/components/Nav/NavExpandable.d.ts.map +1 -1
  154. package/dist/esm/components/Nav/NavExpandable.js +2 -2
  155. package/dist/esm/components/Nav/NavExpandable.js.map +1 -1
  156. package/dist/esm/components/Nav/NavItem.d.ts +2 -0
  157. package/dist/esm/components/Nav/NavItem.d.ts.map +1 -1
  158. package/dist/esm/components/Nav/NavItem.js +2 -2
  159. package/dist/esm/components/Nav/NavItem.js.map +1 -1
  160. package/dist/esm/components/Nav/NavList.js +3 -3
  161. package/dist/esm/components/Nav/NavList.js.map +1 -1
  162. package/dist/esm/components/NotificationBadge/NotificationBadge.js +1 -1
  163. package/dist/esm/components/NotificationBadge/NotificationBadge.js.map +1 -1
  164. package/dist/esm/components/Page/PageSection.d.ts +2 -5
  165. package/dist/esm/components/Page/PageSection.d.ts.map +1 -1
  166. package/dist/esm/components/Page/PageSection.js +1 -7
  167. package/dist/esm/components/Page/PageSection.js.map +1 -1
  168. package/dist/esm/components/Page/PageSidebar.d.ts +0 -2
  169. package/dist/esm/components/Page/PageSidebar.d.ts.map +1 -1
  170. package/dist/esm/components/Page/PageSidebar.js +2 -2
  171. package/dist/esm/components/Page/PageSidebar.js.map +1 -1
  172. package/dist/esm/components/SearchInput/SearchInput.d.ts +2 -0
  173. package/dist/esm/components/SearchInput/SearchInput.d.ts.map +1 -1
  174. package/dist/esm/components/SearchInput/SearchInput.js +2 -2
  175. package/dist/esm/components/SearchInput/SearchInput.js.map +1 -1
  176. package/dist/esm/components/Select/Select.d.ts +2 -0
  177. package/dist/esm/components/Select/Select.d.ts.map +1 -1
  178. package/dist/esm/components/Select/Select.js.map +1 -1
  179. package/dist/esm/components/Slider/Slider.d.ts.map +1 -1
  180. package/dist/esm/components/Slider/Slider.js +2 -1
  181. package/dist/esm/components/Slider/Slider.js.map +1 -1
  182. package/dist/esm/components/Tabs/Tabs.js +3 -3
  183. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  184. package/dist/esm/demos/DashboardWrapper.js +1 -1
  185. package/dist/esm/demos/DashboardWrapper.js.map +1 -1
  186. package/dist/esm/deprecated/components/PageHeader/PageHeaderToolsItem.d.ts +0 -2
  187. package/dist/esm/deprecated/components/PageHeader/PageHeaderToolsItem.d.ts.map +1 -1
  188. package/dist/esm/deprecated/components/PageHeader/PageHeaderToolsItem.js +2 -2
  189. package/dist/esm/deprecated/components/PageHeader/PageHeaderToolsItem.js.map +1 -1
  190. package/dist/esm/helpers/Popper/Popper.d.ts +2 -1
  191. package/dist/esm/helpers/Popper/Popper.d.ts.map +1 -1
  192. package/dist/esm/helpers/Popper/Popper.js +7 -16
  193. package/dist/esm/helpers/Popper/Popper.js.map +1 -1
  194. package/dist/esm/helpers/datetimeUtils.d.ts +1 -1
  195. package/dist/esm/helpers/datetimeUtils.d.ts.map +1 -1
  196. package/dist/esm/helpers/datetimeUtils.js.map +1 -1
  197. package/dist/esm/helpers/util.d.ts +9 -0
  198. package/dist/esm/helpers/util.d.ts.map +1 -1
  199. package/dist/esm/helpers/util.js +18 -0
  200. package/dist/esm/helpers/util.js.map +1 -1
  201. package/dist/js/components/CalendarMonth/CalendarMonth.d.ts.map +1 -1
  202. package/dist/js/components/CalendarMonth/CalendarMonth.js +15 -39
  203. package/dist/js/components/CalendarMonth/CalendarMonth.js.map +1 -1
  204. package/dist/js/components/Chip/Chip.d.ts.map +1 -1
  205. package/dist/js/components/Chip/Chip.js +2 -2
  206. package/dist/js/components/Chip/Chip.js.map +1 -1
  207. package/dist/js/components/ClipboardCopy/ClipboardCopy.d.ts +1 -1
  208. package/dist/js/components/ClipboardCopy/ClipboardCopy.d.ts.map +1 -1
  209. package/dist/js/components/ClipboardCopy/ClipboardCopyButton.d.ts.map +1 -1
  210. package/dist/js/components/ClipboardCopy/ClipboardCopyButton.js +2 -2
  211. package/dist/js/components/ClipboardCopy/ClipboardCopyButton.js.map +1 -1
  212. package/dist/js/components/ClipboardCopy/ClipboardCopyToggle.js +1 -1
  213. package/dist/js/components/ClipboardCopy/ClipboardCopyToggle.js.map +1 -1
  214. package/dist/js/components/Drawer/DrawerPanelContent.js +3 -3
  215. package/dist/js/components/Drawer/DrawerPanelContent.js.map +1 -1
  216. package/dist/js/components/Dropdown/Dropdown.d.ts +2 -0
  217. package/dist/js/components/Dropdown/Dropdown.d.ts.map +1 -1
  218. package/dist/js/components/Dropdown/Dropdown.js.map +1 -1
  219. package/dist/js/components/ExpandableSection/ExpandableSection.js +1 -1
  220. package/dist/js/components/ExpandableSection/ExpandableSection.js.map +1 -1
  221. package/dist/js/components/InputGroup/InputGroup.d.ts.map +1 -1
  222. package/dist/js/components/InputGroup/InputGroup.js +1 -51
  223. package/dist/js/components/InputGroup/InputGroup.js.map +1 -1
  224. package/dist/js/components/Masthead/Masthead.d.ts +0 -2
  225. package/dist/js/components/Masthead/Masthead.d.ts.map +1 -1
  226. package/dist/js/components/Masthead/Masthead.js +3 -3
  227. package/dist/js/components/Masthead/Masthead.js.map +1 -1
  228. package/dist/js/components/Menu/Menu.d.ts.map +1 -1
  229. package/dist/js/components/Menu/Menu.js +2 -1
  230. package/dist/js/components/Menu/Menu.js.map +1 -1
  231. package/dist/js/components/Menu/MenuContainer.d.ts +2 -0
  232. package/dist/js/components/Menu/MenuContainer.d.ts.map +1 -1
  233. package/dist/js/components/Menu/MenuContainer.js.map +1 -1
  234. package/dist/js/components/Nav/NavExpandable.d.ts +3 -3
  235. package/dist/js/components/Nav/NavExpandable.d.ts.map +1 -1
  236. package/dist/js/components/Nav/NavExpandable.js +2 -2
  237. package/dist/js/components/Nav/NavExpandable.js.map +1 -1
  238. package/dist/js/components/Nav/NavItem.d.ts +2 -0
  239. package/dist/js/components/Nav/NavItem.d.ts.map +1 -1
  240. package/dist/js/components/Nav/NavItem.js +2 -2
  241. package/dist/js/components/Nav/NavItem.js.map +1 -1
  242. package/dist/js/components/Nav/NavList.js +2 -2
  243. package/dist/js/components/Nav/NavList.js.map +1 -1
  244. package/dist/js/components/NotificationBadge/NotificationBadge.js +1 -1
  245. package/dist/js/components/NotificationBadge/NotificationBadge.js.map +1 -1
  246. package/dist/js/components/Page/PageSection.d.ts +2 -5
  247. package/dist/js/components/Page/PageSection.d.ts.map +1 -1
  248. package/dist/js/components/Page/PageSection.js +1 -7
  249. package/dist/js/components/Page/PageSection.js.map +1 -1
  250. package/dist/js/components/Page/PageSidebar.d.ts +0 -2
  251. package/dist/js/components/Page/PageSidebar.d.ts.map +1 -1
  252. package/dist/js/components/Page/PageSidebar.js +2 -2
  253. package/dist/js/components/Page/PageSidebar.js.map +1 -1
  254. package/dist/js/components/SearchInput/SearchInput.d.ts +2 -0
  255. package/dist/js/components/SearchInput/SearchInput.d.ts.map +1 -1
  256. package/dist/js/components/SearchInput/SearchInput.js +2 -2
  257. package/dist/js/components/SearchInput/SearchInput.js.map +1 -1
  258. package/dist/js/components/Select/Select.d.ts +2 -0
  259. package/dist/js/components/Select/Select.d.ts.map +1 -1
  260. package/dist/js/components/Select/Select.js.map +1 -1
  261. package/dist/js/components/Slider/Slider.d.ts.map +1 -1
  262. package/dist/js/components/Slider/Slider.js +2 -1
  263. package/dist/js/components/Slider/Slider.js.map +1 -1
  264. package/dist/js/components/Tabs/Tabs.js +2 -2
  265. package/dist/js/components/Tabs/Tabs.js.map +1 -1
  266. package/dist/js/demos/DashboardWrapper.js +1 -1
  267. package/dist/js/demos/DashboardWrapper.js.map +1 -1
  268. package/dist/js/deprecated/components/PageHeader/PageHeaderToolsItem.d.ts +0 -2
  269. package/dist/js/deprecated/components/PageHeader/PageHeaderToolsItem.d.ts.map +1 -1
  270. package/dist/js/deprecated/components/PageHeader/PageHeaderToolsItem.js +2 -2
  271. package/dist/js/deprecated/components/PageHeader/PageHeaderToolsItem.js.map +1 -1
  272. package/dist/js/helpers/Popper/Popper.d.ts +2 -1
  273. package/dist/js/helpers/Popper/Popper.d.ts.map +1 -1
  274. package/dist/js/helpers/Popper/Popper.js +9 -19
  275. package/dist/js/helpers/Popper/Popper.js.map +1 -1
  276. package/dist/js/helpers/datetimeUtils.d.ts +1 -1
  277. package/dist/js/helpers/datetimeUtils.d.ts.map +1 -1
  278. package/dist/js/helpers/datetimeUtils.js.map +1 -1
  279. package/dist/js/helpers/util.d.ts +9 -0
  280. package/dist/js/helpers/util.d.ts.map +1 -1
  281. package/dist/js/helpers/util.js +20 -1
  282. package/dist/js/helpers/util.js.map +1 -1
  283. package/dist/styles/assets/images/logo__pf--reverse-on-md.svg +1 -1
  284. package/dist/styles/assets/images/pf-c-brand__logo-on-sm.svg +1 -1
  285. package/dist/styles/base-no-reset.css +849 -0
  286. package/dist/styles/base.css +861 -13
  287. package/dist/umd/react-core.min.js +1 -1
  288. package/helpers/package.json +1 -1
  289. package/layouts/package.json +1 -1
  290. package/next/package.json +1 -1
  291. package/package.json +8 -7
  292. package/src/components/CalendarMonth/CalendarMonth.tsx +18 -43
  293. package/src/components/Checkbox/__tests__/Checkbox.test.tsx +223 -69
  294. package/src/components/Checkbox/__tests__/__snapshots__/Checkbox.test.tsx.snap +3 -198
  295. package/src/components/Chip/Chip.tsx +2 -1
  296. package/src/components/Chip/__tests__/Chip.test.tsx +249 -32
  297. package/src/components/Chip/__tests__/ChipGroup.test.tsx +288 -61
  298. package/src/components/Chip/__tests__/__snapshots__/Chip.test.tsx.snap +9 -209
  299. package/src/components/Chip/__tests__/__snapshots__/ChipGroup.test.tsx.snap +2 -313
  300. package/src/components/ClipboardCopy/ClipboardCopy.tsx +1 -1
  301. package/src/components/ClipboardCopy/ClipboardCopyButton.tsx +2 -0
  302. package/src/components/ClipboardCopy/ClipboardCopyToggle.tsx +1 -1
  303. package/src/components/ClipboardCopy/__tests__/ClipboardCopy.test.tsx +344 -0
  304. package/src/components/ClipboardCopy/__tests__/ClipboardCopyAction.test.tsx +37 -0
  305. package/src/components/ClipboardCopy/__tests__/ClipboardCopyButton.test.tsx +136 -19
  306. package/src/components/ClipboardCopy/__tests__/ClipboardCopyExpanded.test.tsx +71 -14
  307. package/src/components/ClipboardCopy/__tests__/ClipboardCopyToggle.test.tsx +78 -34
  308. package/src/components/ClipboardCopy/__tests__/__snapshots__/ClipboardCopy.test.tsx.snap +57 -0
  309. package/src/components/ClipboardCopy/__tests__/__snapshots__/ClipboardCopyAction.test.tsx.snap +11 -0
  310. package/src/components/ClipboardCopy/__tests__/__snapshots__/ClipboardCopyButton.test.tsx.snap +50 -24
  311. package/src/components/ClipboardCopy/__tests__/__snapshots__/ClipboardCopyExpanded.test.tsx.snap +3 -23
  312. package/src/components/ClipboardCopy/__tests__/__snapshots__/ClipboardCopyToggle.test.tsx.snap +5 -6
  313. package/src/components/Drawer/DrawerPanelContent.tsx +4 -4
  314. package/src/components/Dropdown/Dropdown.tsx +2 -0
  315. package/src/components/ExpandableSection/ExpandableSection.tsx +1 -1
  316. package/src/components/InputGroup/InputGroup.tsx +1 -53
  317. package/src/components/InputGroup/__tests__/InputGroup.test.tsx +7 -44
  318. package/src/components/Masthead/Masthead.tsx +0 -5
  319. package/src/components/Masthead/examples/Masthead.md +0 -44
  320. package/src/components/Menu/Menu.tsx +2 -1
  321. package/src/components/Menu/MenuContainer.tsx +2 -0
  322. package/src/components/Nav/NavExpandable.tsx +5 -5
  323. package/src/components/Nav/NavItem.tsx +4 -1
  324. package/src/components/Nav/NavList.tsx +3 -3
  325. package/src/components/Nav/examples/Nav.md +8 -0
  326. package/src/components/Nav/examples/NavExpandableThirdLevel.tsx +1 -1
  327. package/src/components/Nav/examples/NavLinkText.tsx +109 -0
  328. package/src/components/Nav/examples/nav.css +1 -0
  329. package/src/components/NotificationBadge/NotificationBadge.tsx +1 -1
  330. package/src/components/NumberInput/__tests__/NumberInput.test.tsx +0 -1
  331. package/src/components/Page/PageSection.tsx +3 -9
  332. package/src/components/Page/PageSidebar.tsx +0 -4
  333. package/src/components/Page/__tests__/Generated/PageSidebar.test.tsx +1 -1
  334. package/src/components/Page/__tests__/Page.test.tsx +1 -40
  335. package/src/components/Page/__tests__/__snapshots__/Page.test.tsx.snap +0 -195
  336. package/src/components/Page/examples/PageGroupSection.tsx +3 -4
  337. package/src/components/Page/examples/PageHorizontalNav.tsx +3 -4
  338. package/src/components/Page/examples/PageMainSectionPadding.tsx +2 -7
  339. package/src/components/Page/examples/PageMultipleSidebarBody.tsx +3 -4
  340. package/src/components/Page/examples/PageTertiaryNav.tsx +3 -4
  341. package/src/components/Page/examples/PageUncontrolledNav.tsx +3 -4
  342. package/src/components/Page/examples/PageVerticalNav.tsx +3 -4
  343. package/src/components/SearchInput/SearchInput.tsx +5 -1
  344. package/src/components/SearchInput/__tests__/SearchInput.test.tsx +8 -0
  345. package/src/components/Select/Select.tsx +2 -0
  346. package/src/components/Slider/Slider.tsx +2 -1
  347. package/src/components/Tabs/Tabs.tsx +3 -3
  348. package/src/demos/Banner.md +2 -4
  349. package/src/demos/CardView/examples/CardView.tsx +2 -8
  350. package/src/demos/DashboardWrapper.tsx +1 -1
  351. package/src/demos/JumpLinks.md +1 -1
  352. package/src/demos/Nav.md +10 -1673
  353. package/src/demos/NotificationDrawer/examples/NotificationDrawerBasic.tsx +2 -3
  354. package/src/demos/NotificationDrawer/examples/NotificationDrawerGrouped.tsx +2 -3
  355. package/src/demos/PrimaryDetail.md +4 -7
  356. package/src/demos/Tabs.md +6 -8
  357. package/src/demos/Wizard/WizardDemo.md +6 -761
  358. package/src/demos/examples/AlertGroup/AlertGroupToastWithNotificationDrawer.tsx +4 -5
  359. package/src/demos/examples/BackToTop/BackToTopNameDemo.tsx +1 -2
  360. package/src/demos/examples/DashboardWrapper.js +127 -0
  361. package/src/demos/examples/JumpLinks/JumpLinksWithDrawer.js +3 -4
  362. package/src/demos/examples/Masthead/MastheadWithUtilitiesAndUserDropdownMenu.tsx +1 -2
  363. package/src/demos/examples/Nav/NavDefault.tsx +97 -0
  364. package/src/demos/examples/Nav/NavDrilldown.tsx +2 -0
  365. package/src/demos/examples/Nav/NavExpandable.tsx +123 -0
  366. package/src/demos/examples/Nav/NavFlyout.tsx +277 -0
  367. package/src/demos/examples/Nav/NavGrouped.tsx +98 -0
  368. package/src/demos/examples/Nav/NavHorizontal.tsx +236 -0
  369. package/src/demos/examples/Nav/NavHorizontalWithSubnav.tsx +296 -0
  370. package/src/demos/examples/Nav/NavManual.tsx +272 -0
  371. package/src/demos/examples/Nav/NavWithSubnav.tsx +141 -0
  372. package/src/demos/examples/Nav/deprecated/NavLight.tsx +95 -0
  373. package/src/demos/examples/Nav/deprecated/NavTertiary.tsx +91 -0
  374. package/src/demos/examples/Page/PageStickySectionBreadcrumb.tsx +1 -2
  375. package/src/demos/examples/Page/PageStickySectionGroup.tsx +1 -2
  376. package/src/demos/examples/Page/PageStickySectionGroupAlternate.tsx +1 -2
  377. package/src/demos/examples/PrimaryDetail/PrimaryDetailContentPadding.tsx +1 -2
  378. package/src/demos/examples/PrimaryDetail/PrimaryDetailFullPage.tsx +2 -3
  379. package/src/demos/examples/PrimaryDetail/PrimaryDetailInlineModifier.tsx +2 -3
  380. package/src/demos/examples/Tabs/ModalTabs.tsx +1 -2
  381. package/src/demos/examples/Tabs/NestedUnindentedTabs.tsx +2 -2
  382. package/src/demos/examples/Tabs/TabsAndTable.tsx +2 -3
  383. package/src/demos/examples/Toolbar/ConsoleLogViewerToolbar.tsx +1 -2
  384. package/src/demos/examples/Wizard/InModal.tsx +75 -0
  385. package/src/demos/examples/Wizard/InModalWithDrawer.tsx +115 -0
  386. package/src/demos/examples/Wizard/InModalWithDrawerInformationalStep.tsx +122 -0
  387. package/src/demos/examples/Wizard/InPage.tsx +35 -0
  388. package/src/demos/examples/Wizard/InPageWithDrawer.tsx +195 -0
  389. package/src/demos/examples/Wizard/InPageWithDrawerInformationalStep.tsx +200 -0
  390. package/src/deprecated/components/PageHeader/PageHeaderToolsItem.tsx +0 -4
  391. package/src/deprecated/components/PageHeader/examples/PageVerticalNavUsingPageHeaderComponent.tsx +4 -4
  392. package/src/deprecated/components/PageHeader/tests/PageHeaderToolsItem.test.tsx +1 -3
  393. package/src/deprecated/components/PageHeader/tests/__snapshots__/PageHeaderToolsItem.test.tsx.snap +1 -1
  394. package/src/helpers/Popper/Popper.tsx +10 -19
  395. package/src/helpers/__mocks__/util.ts +2 -0
  396. package/src/helpers/datetimeUtils.ts +1 -1
  397. package/src/helpers/util.ts +22 -0
  398. package/dist/styles/assets/images/pf-c-brand__logo-on-lg-white.svg +0 -32
  399. package/dist/styles/assets/images/pf-c-brand__logo-on-md-white.svg +0 -42
  400. package/dist/styles/assets/images/pf-c-brand__logo-on-sm-white.svg +0 -17
  401. package/dist/styles/assets/images/pf-c-brand__logo-on-xl-white.svg +0 -39
  402. package/dist/styles/assets/images/pf_logo_white.hbs +0 -35
  403. package/dist/styles/assets/images/pf_logo_white.svg +0 -38
  404. package/src/components/ClipboardCopy/__tests__/Generated/ClipboardCopy.test.tsx +0 -40
  405. package/src/components/ClipboardCopy/__tests__/Generated/__snapshots__/ClipboardCopy.test.tsx.snap +0 -55
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-helpers","main":"../dist/js/helpers/index.js","module":"../dist/esm/helpers/index.js","typings":"../dist/esm/helpers/index.d.ts","version":"5.2.0-prerelease.8","private":true}
1
+ {"name":"@patternfly/react-core-helpers","main":"../dist/js/helpers/index.js","module":"../dist/esm/helpers/index.js","typings":"../dist/esm/helpers/index.d.ts","version":"6.0.0-alpha.1","private":true}
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-layouts","main":"../dist/js/layouts/index.js","module":"../dist/esm/layouts/index.js","typings":"../dist/esm/layouts/index.d.ts","version":"5.2.0-prerelease.8","private":true}
1
+ {"name":"@patternfly/react-core-layouts","main":"../dist/js/layouts/index.js","module":"../dist/esm/layouts/index.js","typings":"../dist/esm/layouts/index.d.ts","version":"6.0.0-alpha.1","private":true}
package/next/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-next","main":"../dist/js/next/index.js","module":"../dist/esm/next/index.js","typings":"../dist/esm/next/index.d.ts","version":"5.2.0-prerelease.8","private":true}
1
+ {"name":"@patternfly/react-core-next","main":"../dist/js/next/index.js","module":"../dist/esm/next/index.js","typings":"../dist/esm/next/index.d.ts","version":"6.0.0-alpha.1","private":true}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@patternfly/react-core",
3
- "version": "5.2.0-prerelease.9",
3
+ "version": "6.0.0-alpha.2",
4
4
  "description": "This library provides a set of common React components for use with the PatternFly reference implementation.",
5
5
  "main": "dist/js/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -21,7 +21,8 @@
21
21
  "*.scss"
22
22
  ],
23
23
  "publishConfig": {
24
- "access": "public"
24
+ "access": "public",
25
+ "tag": "alpha"
25
26
  },
26
27
  "repository": {
27
28
  "type": "git",
@@ -45,15 +46,15 @@
45
46
  "subpaths": "node ../../scripts/exportSubpaths.js --config subpaths.config.json"
46
47
  },
47
48
  "dependencies": {
48
- "@patternfly/react-icons": "^5.2.0-prerelease.3",
49
- "@patternfly/react-styles": "^5.2.0-prerelease.2",
50
- "@patternfly/react-tokens": "^5.2.0-prerelease.3",
49
+ "@patternfly/react-icons": "^6.0.0-alpha.2",
50
+ "@patternfly/react-styles": "^6.0.0-alpha.2",
51
+ "@patternfly/react-tokens": "^6.0.0-alpha.2",
51
52
  "focus-trap": "7.5.2",
52
53
  "react-dropzone": "^14.2.3",
53
54
  "tslib": "^2.5.0"
54
55
  },
55
56
  "devDependencies": {
56
- "@patternfly/patternfly": "5.2.0-prerelease.2",
57
+ "@patternfly/patternfly": "6.0.0-alpha.12",
57
58
  "@rollup/plugin-commonjs": "^25.0.0",
58
59
  "@rollup/plugin-node-resolve": "^15.0.2",
59
60
  "@rollup/plugin-replace": "^5.0.2",
@@ -71,5 +72,5 @@
71
72
  "react": "^17 || ^18",
72
73
  "react-dom": "^17 || ^18"
73
74
  },
74
- "gitHead": "ca857bc68e1333a3cdaa4be0a82f42654aef5f60"
75
+ "gitHead": "e097336a87fa3cd2ab41654bec28d120beed10bc"
75
76
  }
@@ -154,12 +154,13 @@ export const CalendarMonth = ({
154
154
  const [isSelectOpen, setIsSelectOpen] = React.useState(false);
155
155
 
156
156
  const getInitialDate = () => {
157
- const initDate = new Date(dateProp);
158
- if (isValidDate(initDate)) {
159
- return initDate;
160
- } else {
161
- return isValidDate(rangeStart) ? rangeStart : today;
157
+ if (isValidDate(dateProp)) {
158
+ return dateProp;
162
159
  }
160
+ if (isValidDate(rangeStart)) {
161
+ return rangeStart;
162
+ }
163
+ return today;
163
164
  };
164
165
  const initialDate = getInitialDate();
165
166
  const [focusedDate, setFocusedDate] = React.useState(initialDate);
@@ -211,43 +212,25 @@ export const CalendarMonth = ({
211
212
  }
212
213
  };
213
214
 
214
- const changeMonth = (month: number) => {
215
- const newDate = new Date(focusedDate);
216
- const desiredDay = newDate.getDate();
217
- const monthDays = new Date(newDate.getFullYear(), (month + 1) % 12, 0).getDate(); // Setting day 0 of the next month returns the last day of current month
218
-
219
- if (monthDays < desiredDay) {
220
- newDate.setDate(monthDays);
221
- }
222
-
223
- newDate.setMonth(month);
224
-
225
- if (initialDate.getDate() > desiredDay && monthDays > desiredDay) {
226
- newDate.setDate(initialDate.getDate());
227
- }
215
+ const changeYear = (newYear: number) => changeMonth(focusedDate.getMonth(), newYear);
228
216
 
229
- return newDate;
230
- };
217
+ const changeMonth = (newMonth: number, newYear?: number) =>
218
+ new Date(newYear ?? focusedDate.getFullYear(), newMonth, 1);
231
219
 
232
220
  const addMonth = (toAdd: -1 | 1) => {
233
- let newMonth = new Date(focusedDate).getMonth() + toAdd;
221
+ let newMonth = focusedDate.getMonth() + toAdd;
222
+ let newYear = focusedDate.getFullYear();
223
+
234
224
  if (newMonth === -1) {
235
225
  newMonth = 11;
226
+ newYear--;
236
227
  } else if (newMonth === 12) {
237
228
  newMonth = 0;
229
+ newYear++;
238
230
  }
239
- const newDate = changeMonth(newMonth);
240
- if (toAdd === 1 && newMonth === 0) {
241
- newDate.setFullYear(newDate.getFullYear() + 1);
242
- }
243
- if (toAdd === -1 && newMonth === 11) {
244
- newDate.setFullYear(newDate.getFullYear() - 1);
245
- }
246
- return newDate;
247
- };
248
231
 
249
- const yearHasFebruary29th = (year: number) => new Date(year, 1, 29).getMonth() === 1;
250
- const dateIsFebruary29th = (date: Date) => date.getMonth() === 1 && date.getDate() === 29;
232
+ return changeMonth(newMonth, newYear);
233
+ };
251
234
 
252
235
  const prevMonth = addMonth(-1);
253
236
  const nextMonth = addMonth(1);
@@ -340,19 +323,11 @@ export const CalendarMonth = ({
340
323
  type="number"
341
324
  value={yearFormatted}
342
325
  onChange={(ev: React.FormEvent<HTMLInputElement>, year: string) => {
343
- const newDate = new Date(focusedDate);
344
- if (dateIsFebruary29th(newDate) && !yearHasFebruary29th(+year)) {
345
- newDate.setDate(28);
346
- newDate.setMonth(1);
347
- }
348
- if (dateIsFebruary29th(initialDate) && yearHasFebruary29th(+year)) {
349
- newDate.setFullYear(+year);
350
- newDate.setDate(29);
351
- }
352
- newDate.setFullYear(+year);
326
+ const newDate = changeYear(Number(year));
353
327
  setFocusedDate(newDate);
354
328
  setHoveredDate(newDate);
355
329
  setShouldFocus(false);
330
+ focusRef.current?.blur(); // will unfocus a date when changing year via up/down arrows
356
331
  onMonthChange(ev, newDate);
357
332
  }}
358
333
  />
@@ -6,91 +6,245 @@ import userEvent from '@testing-library/user-event';
6
6
  import { Checkbox } from '../Checkbox';
7
7
  import styles from '@patternfly/react-styles/css/components/Check/check';
8
8
 
9
- describe('Checkbox', () => {
10
- test('controlled', () => {
11
- const { asFragment } = render(<Checkbox isChecked id="check" aria-label="check" />);
12
- expect(asFragment()).toMatchSnapshot();
13
- });
9
+ test(`Renders with only the class ${styles.checkInput} on the check by default`, () => {
10
+ render(<Checkbox id="test-id" />);
14
11
 
15
- test('controlled - 3rd state', () => {
16
- const { asFragment } = render(<Checkbox isChecked={null} id="check" aria-label="check" />);
17
- expect(asFragment()).toMatchSnapshot();
18
- });
12
+ expect(screen.getByRole('checkbox')).toHaveClass(styles.checkInput, { exact: true });
13
+ });
19
14
 
20
- test('uncontrolled', () => {
21
- const { asFragment } = render(<Checkbox id="check" aria-label="check" />);
22
- expect(asFragment()).toMatchSnapshot();
23
- });
15
+ test(`Renders with only the classes ${styles.check} and ${styles.modifiers.standalone} on the check wrapper by default`, () => {
16
+ render(<Checkbox id="test-id" />);
24
17
 
25
- test('isDisabled', () => {
26
- const { asFragment } = render(<Checkbox id="check" isDisabled aria-label="check" />);
27
- expect(asFragment()).toMatchSnapshot();
18
+ expect(screen.getByRole('checkbox').parentElement).toHaveClass(`${styles.check} ${styles.modifiers.standalone}`, {
19
+ exact: true
28
20
  });
21
+ });
29
22
 
30
- test('label is string', () => {
31
- const { asFragment } = render(<Checkbox label="Label" id="check" isChecked aria-label="check" />);
32
- expect(asFragment()).toMatchSnapshot();
33
- });
23
+ test('Renders with additional classes passed via className', () => {
24
+ render(<Checkbox id="test-id" className="test-class" />);
34
25
 
35
- test('label is function', () => {
36
- const functionLabel = () => <h1>Header</h1>;
37
- const { asFragment } = render(<Checkbox label={functionLabel()} id="check" isChecked aria-label="check" />);
38
- expect(asFragment()).toMatchSnapshot();
39
- });
26
+ expect(screen.getByRole('checkbox').parentElement).toHaveClass('test-class');
27
+ });
40
28
 
41
- test('label is node', () => {
42
- const { asFragment } = render(<Checkbox label={<h1>Header</h1>} id="check" isChecked aria-label="check" />);
43
- expect(asFragment()).toMatchSnapshot();
44
- });
29
+ test('Renders with additional classes passed via inputClassName', () => {
30
+ render(<Checkbox id="test-id" inputClassName="test-class" />);
45
31
 
46
- test('passing class', () => {
47
- const { asFragment } = render(
48
- <Checkbox label="label" className="class-123" id="check" isChecked aria-label="check" />
49
- );
50
- expect(asFragment()).toMatchSnapshot();
51
- });
32
+ expect(screen.getByRole('checkbox')).toHaveClass('test-class');
33
+ });
52
34
 
53
- test('passing HTML attribute', () => {
54
- const { asFragment } = render(
55
- <Checkbox label="label" aria-labelledby="labelId" id="check" isChecked aria-label="check" />
56
- );
57
- expect(asFragment()).toMatchSnapshot();
58
- });
35
+ test('Does not set the checkbox as invalid by default', () => {
36
+ render(<Checkbox id="test-id" />);
59
37
 
60
- test('passing description', () => {
61
- render(<Checkbox id="check" label="checkbox" description="Text description..." />);
62
- expect(screen.getByText('Text description...')).toBeInTheDocument();
63
- });
38
+ expect(screen.getByRole('checkbox')).toBeValid();
39
+ });
64
40
 
65
- test('passing body', () => {
66
- render(<Checkbox id="check" label="checkbox" body="This is where custom content goes." />);
41
+ test('Sets the checkbox as invalid when isValid is false', () => {
42
+ render(<Checkbox id="test-id" isValid={false} />);
67
43
 
68
- expect(screen.getByText('This is where custom content goes.')).toBeInTheDocument();
69
- });
44
+ expect(screen.getByRole('checkbox')).toBeInvalid();
45
+ });
70
46
 
71
- test('checkbox onChange handler called when component is clicked', async () => {
72
- const onChangeHandler = jest.fn();
73
- const user = userEvent.setup();
47
+ test('Does not set the checkbox as disabled by default', () => {
48
+ render(<Checkbox id="test-id" />);
74
49
 
75
- render(<Checkbox id="check" onChange={onChangeHandler} aria-label="check" isChecked={false} />);
50
+ expect(screen.getByRole('checkbox')).not.toBeDisabled();
51
+ });
76
52
 
77
- await user.click(screen.getByLabelText('check'));
78
- expect(onChangeHandler).toHaveBeenCalled();
79
- });
53
+ test(`Sets the checkbox as disabled when isDisabled is passed`, () => {
54
+ render(<Checkbox id="test-id" isDisabled />);
80
55
 
81
- test('should throw console error when no id is given', () => {
82
- const myMock = jest.fn();
83
- global.console = { ...global.console, error: myMock };
56
+ expect(screen.getByRole('checkbox')).toBeDisabled();
57
+ });
84
58
 
85
- render(<Checkbox id={undefined} />);
86
- expect(myMock).toHaveBeenCalled();
87
- });
59
+ test('Sets the label as disabled when isDisabled and label are passed', () => {
60
+ render(<Checkbox id="test-id" isDisabled label="test label" />);
88
61
 
89
- test('renders component wrapper as span', () => {
90
- const { container } = render(
91
- <Checkbox component="span" label="label" aria-labelledby="labelId" id="check" isChecked aria-label="check" />
92
- );
93
- const span = container.querySelector('span');
94
- expect(span).toHaveClass(styles.check);
95
- });
62
+ expect(screen.getByLabelText('test label')).toBeDisabled();
63
+ });
64
+
65
+ test('Does not set the checkbox as required by default', () => {
66
+ render(<Checkbox id="test-id" />);
67
+
68
+ expect(screen.getByRole('checkbox')).not.toBeRequired();
69
+ });
70
+
71
+ test(`Sets the checkbox as required when isRequired is passed`, () => {
72
+ render(<Checkbox id="test-id" isRequired />);
73
+
74
+ expect(screen.getByRole('checkbox')).toBeRequired();
75
+ });
76
+
77
+ test('Does not set the checkbox as checked by default', () => {
78
+ render(<Checkbox id="test-id" />);
79
+
80
+ expect(screen.getByRole('checkbox')).not.toBeChecked();
81
+ });
82
+
83
+ test(`Sets the checkbox as checked when isChecked is passed`, () => {
84
+ render(<Checkbox id="test-id" isChecked />);
85
+
86
+ expect(screen.getByRole('checkbox')).toBeChecked();
87
+ });
88
+
89
+ test(`Sets the checkbox as checked when checked is passed`, () => {
90
+ render(<Checkbox id="test-id" checked />);
91
+
92
+ expect(screen.getByRole('checkbox')).toBeChecked();
93
+ });
94
+
95
+ test(`Calls onChange when the checkbox is clicked`, async () => {
96
+ const user = userEvent.setup();
97
+ const onChange = jest.fn();
98
+ render(<Checkbox id="test-id" onChange={onChange} />);
99
+
100
+ await user.click(screen.getByRole('checkbox'));
101
+
102
+ expect(onChange).toHaveBeenCalledTimes(1);
103
+ });
104
+
105
+ test('Does not call onChange when the checkbox is not clicked', () => {
106
+ const onChange = jest.fn();
107
+ render(<Checkbox id="test-id" onChange={onChange} />);
108
+
109
+ expect(onChange).not.toHaveBeenCalled();
110
+ });
111
+
112
+ test(`Calls onChange with the event and the checked value when the checkbox is clicked`, async () => {
113
+ const user = userEvent.setup();
114
+ const onChange = jest.fn();
115
+ render(<Checkbox id="test-id" onChange={onChange} />);
116
+
117
+ await user.click(screen.getByRole('checkbox'));
118
+
119
+ expect(onChange).toHaveBeenCalledWith(expect.objectContaining({ type: 'change' }), true);
120
+ });
121
+
122
+ test(`Calls onChange with the event and the checked value when the checkbox is clicked and isChecked is passed`, async () => {
123
+ const user = userEvent.setup();
124
+ const onChange = jest.fn();
125
+ render(<Checkbox id="test-id" isChecked onChange={onChange} />);
126
+
127
+ await user.click(screen.getByRole('checkbox'));
128
+
129
+ expect(onChange).toHaveBeenCalledWith(expect.objectContaining({ type: 'change' }), false);
130
+ });
131
+
132
+ test('Does not render a label by default', () => {
133
+ render(<Checkbox id="test-id" />);
134
+
135
+ expect(screen.queryByLabelText(/\w+/)).not.toBeInTheDocument();
136
+ });
137
+
138
+ test('Renders a label when label is passed', () => {
139
+ render(<Checkbox id="test-id" label="test label" />);
140
+
141
+ expect(screen.getByLabelText('test label')).toBeVisible();
142
+ });
143
+
144
+ test('Associates the label with the checkbox', () => {
145
+ render(<Checkbox id="test-id" label="test label" />);
146
+
147
+ expect(screen.getByRole('checkbox')).toHaveAccessibleName('test label');
148
+ });
149
+
150
+ test('Does not render an asterisk when a label is passed but isRequired is not', () => {
151
+ render(<Checkbox id="test-id" label="test label" />);
152
+
153
+ expect(screen.queryByText('*')).not.toBeInTheDocument();
154
+ });
155
+
156
+ test('Renders an asterisk when isRequired and a label are passed', () => {
157
+ render(<Checkbox id="test-id" isRequired label="test label" />);
158
+
159
+ expect(screen.getByText('*')).toBeVisible();
160
+ });
161
+
162
+ test(`Wraps the required asterisk in the ${styles.checkLabelRequired} className`, () => {
163
+ render(<Checkbox id="test-id" isRequired label="test label" />);
164
+
165
+ expect(screen.getByText('*')).toHaveClass(styles.checkLabelRequired, { exact: true });
166
+ });
167
+
168
+ test('Renders with the provided id', () => {
169
+ render(<Checkbox id="test-id" />);
170
+
171
+ expect(screen.getByRole('checkbox')).toHaveAttribute('id', 'test-id');
172
+ });
173
+
174
+ test('Does not render an aria-label by default', () => {
175
+ render(<Checkbox id="test-id" />);
176
+
177
+ expect(screen.getByRole('checkbox')).not.toHaveAttribute('aria-label');
178
+ });
179
+
180
+ test('Sets the name to the passed aria-label', () => {
181
+ render(<Checkbox id="test-id" aria-label="test aria-label" />);
182
+
183
+ expect(screen.getByRole('checkbox')).toHaveAccessibleName('test aria-label');
184
+ });
185
+
186
+ test('Does not render a description by default', () => {
187
+ render(<Checkbox id="test-id" />);
188
+
189
+ expect(screen.queryByText(/\w+/)).not.toBeInTheDocument();
190
+ });
191
+
192
+ test('Renders a description when description is passed', () => {
193
+ render(<Checkbox id="test-id" description="test description" />);
194
+
195
+ expect(screen.getByText('test description')).toBeVisible();
196
+ });
197
+
198
+ test(`Renders the passed description with the ${styles.checkDescription} className`, () => {
199
+ render(<Checkbox id="test-id" description="test description" />);
200
+
201
+ expect(screen.getByText('test description')).toHaveClass(styles.checkDescription, { exact: true });
202
+ });
203
+
204
+ test('Does not render a body by default', () => {
205
+ render(<Checkbox id="test-id" />);
206
+
207
+ expect(screen.queryByText(/\w+/)).not.toBeInTheDocument();
208
+ });
209
+
210
+ test('Renders a body when body is passed', () => {
211
+ render(<Checkbox id="test-id" body="test body" />);
212
+
213
+ expect(screen.getByText('test body')).toBeVisible();
214
+ });
215
+
216
+ test(`Renders the passed body with the ${styles.checkBody} className`, () => {
217
+ render(<Checkbox id="test-id" body="test body" />);
218
+
219
+ expect(screen.getByText('test body')).toHaveClass(styles.checkBody, { exact: true });
220
+ });
221
+
222
+ test('Renders the check wrapper as a div by default', () => {
223
+ render(<Checkbox id="test-id" />);
224
+
225
+ expect(screen.getByRole('checkbox').parentElement?.tagName).toBe('DIV');
226
+ });
227
+
228
+ test('Renders with the provided component', () => {
229
+ render(<Checkbox id="test-id" component="span" />);
230
+
231
+ expect(screen.getByRole('checkbox').parentElement?.tagName).toBe('SPAN');
232
+ });
233
+
234
+ test(`Spreads additional props`, () => {
235
+ render(<Checkbox id="test-id" data-testid="test-id" />);
236
+
237
+ expect(screen.getByTestId('test-id')).toBeInTheDocument();
238
+ });
239
+
240
+ test(`Sets the checkbox as checked by default when defaultChecked is passed`, () => {
241
+ render(<Checkbox id="test-id" defaultChecked />);
242
+
243
+ expect(screen.getByRole('checkbox')).toBeChecked();
244
+ });
245
+
246
+ test('Matches snapshot', () => {
247
+ const { asFragment } = render(<Checkbox id="test-id" ouiaId="ouia-id" />);
248
+
249
+ expect(asFragment()).toMatchSnapshot();
96
250
  });