@patternfly/react-core 6.0.0-alpha.19 → 6.0.0-alpha.20

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 (448) hide show
  1. package/CHANGELOG.md +162 -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/Modal/package.json +1 -0
  119. package/dist/dynamic/next/components/package.json +1 -1
  120. package/dist/dynamic/styles/package.json +1 -0
  121. package/dist/esm/components/Accordion/Accordion.d.ts +2 -0
  122. package/dist/esm/components/Accordion/Accordion.d.ts.map +1 -1
  123. package/dist/esm/components/Accordion/Accordion.js +4 -3
  124. package/dist/esm/components/Accordion/Accordion.js.map +1 -1
  125. package/dist/esm/components/Accordion/AccordionContext.d.ts +1 -0
  126. package/dist/esm/components/Accordion/AccordionContext.d.ts.map +1 -1
  127. package/dist/esm/components/Accordion/AccordionContext.js.map +1 -1
  128. package/dist/esm/components/Accordion/AccordionToggle.d.ts.map +1 -1
  129. package/dist/esm/components/Accordion/AccordionToggle.js +7 -4
  130. package/dist/esm/components/Accordion/AccordionToggle.js.map +1 -1
  131. package/dist/esm/components/Checkbox/Checkbox.d.ts +9 -3
  132. package/dist/esm/components/Checkbox/Checkbox.d.ts.map +1 -1
  133. package/dist/esm/components/Checkbox/Checkbox.js +16 -8
  134. package/dist/esm/components/Checkbox/Checkbox.js.map +1 -1
  135. package/dist/esm/components/Chip/Chip.d.ts.map +1 -1
  136. package/dist/esm/components/Chip/Chip.js +3 -1
  137. package/dist/esm/components/Chip/Chip.js.map +1 -1
  138. package/dist/esm/components/ClipboardCopy/ClipboardCopy.d.ts.map +1 -1
  139. package/dist/esm/components/ClipboardCopy/ClipboardCopy.js +2 -1
  140. package/dist/esm/components/ClipboardCopy/ClipboardCopy.js.map +1 -1
  141. package/dist/esm/components/DragDrop/index.d.ts +1 -0
  142. package/dist/esm/components/DragDrop/index.d.ts.map +1 -1
  143. package/dist/esm/components/DragDrop/index.js +1 -0
  144. package/dist/esm/components/DragDrop/index.js.map +1 -1
  145. package/dist/esm/components/Dropdown/DropdownItem.d.ts +1 -1
  146. package/dist/esm/components/DualListSelector/index.d.ts +2 -0
  147. package/dist/esm/components/DualListSelector/index.d.ts.map +1 -1
  148. package/dist/esm/components/DualListSelector/index.js +2 -0
  149. package/dist/esm/components/DualListSelector/index.js.map +1 -1
  150. package/dist/esm/components/FileUpload/FileUploadField.d.ts +2 -0
  151. package/dist/esm/components/FileUpload/FileUploadField.d.ts.map +1 -1
  152. package/dist/esm/components/FileUpload/FileUploadField.js +3 -3
  153. package/dist/esm/components/FileUpload/FileUploadField.js.map +1 -1
  154. package/dist/esm/components/Popover/Popover.js +4 -4
  155. package/dist/esm/components/Popover/Popover.js.map +1 -1
  156. package/dist/esm/components/Radio/Radio.d.ts +7 -5
  157. package/dist/esm/components/Radio/Radio.d.ts.map +1 -1
  158. package/dist/esm/components/Radio/Radio.js +13 -20
  159. package/dist/esm/components/Radio/Radio.js.map +1 -1
  160. package/dist/esm/components/Toolbar/ToolbarChipGroupContent.d.ts.map +1 -1
  161. package/dist/esm/components/Toolbar/ToolbarChipGroupContent.js +1 -4
  162. package/dist/esm/components/Toolbar/ToolbarChipGroupContent.js.map +1 -1
  163. package/dist/esm/components/Toolbar/ToolbarExpandableContent.d.ts.map +1 -1
  164. package/dist/esm/components/Toolbar/ToolbarExpandableContent.js +1 -3
  165. package/dist/esm/components/Toolbar/ToolbarExpandableContent.js.map +1 -1
  166. package/dist/esm/components/Toolbar/ToolbarGroup.d.ts +2 -3
  167. package/dist/esm/components/Toolbar/ToolbarGroup.d.ts.map +1 -1
  168. package/dist/esm/components/Toolbar/ToolbarGroup.js +1 -4
  169. package/dist/esm/components/Toolbar/ToolbarGroup.js.map +1 -1
  170. package/dist/esm/components/Toolbar/ToolbarItem.d.ts +1 -13
  171. package/dist/esm/components/Toolbar/ToolbarItem.d.ts.map +1 -1
  172. package/dist/esm/components/Toolbar/ToolbarItem.js +2 -20
  173. package/dist/esm/components/Toolbar/ToolbarItem.js.map +1 -1
  174. package/dist/esm/components/Toolbar/ToolbarToggleGroup.d.ts.map +1 -1
  175. package/dist/esm/components/Toolbar/ToolbarToggleGroup.js +1 -3
  176. package/dist/esm/components/Toolbar/ToolbarToggleGroup.js.map +1 -1
  177. package/dist/esm/components/index.d.ts +1 -1
  178. package/dist/esm/components/index.d.ts.map +1 -1
  179. package/dist/esm/components/index.js +1 -1
  180. package/dist/esm/components/index.js.map +1 -1
  181. package/dist/esm/index.d.ts +1 -1
  182. package/dist/esm/index.d.ts.map +1 -1
  183. package/dist/esm/index.js +1 -1
  184. package/dist/esm/index.js.map +1 -1
  185. package/dist/esm/next/components/Modal/Modal.d.ts +73 -0
  186. package/dist/esm/next/components/Modal/Modal.d.ts.map +1 -0
  187. package/dist/esm/next/components/Modal/Modal.js +114 -0
  188. package/dist/esm/next/components/Modal/Modal.js.map +1 -0
  189. package/dist/esm/next/components/Modal/ModalBody.d.ts +19 -0
  190. package/dist/esm/next/components/Modal/ModalBody.d.ts.map +1 -0
  191. package/dist/esm/next/components/Modal/ModalBody.js +11 -0
  192. package/dist/esm/next/components/Modal/ModalBody.js.map +1 -0
  193. package/dist/esm/next/components/Modal/ModalBox.d.ts +21 -0
  194. package/dist/esm/next/components/Modal/ModalBox.d.ts.map +1 -0
  195. package/dist/esm/next/components/Modal/ModalBox.js +15 -0
  196. package/dist/esm/next/components/Modal/ModalBox.js.map +1 -0
  197. package/dist/esm/next/components/Modal/ModalBoxCloseButton.d.ts +14 -0
  198. package/dist/esm/next/components/Modal/ModalBoxCloseButton.d.ts.map +1 -0
  199. package/dist/esm/next/components/Modal/ModalBoxCloseButton.js +14 -0
  200. package/dist/esm/next/components/Modal/ModalBoxCloseButton.js.map +1 -0
  201. package/dist/esm/next/components/Modal/ModalBoxDescription.d.ts +11 -0
  202. package/dist/esm/next/components/Modal/ModalBoxDescription.d.ts.map +1 -0
  203. package/dist/esm/next/components/Modal/ModalBoxDescription.js +10 -0
  204. package/dist/esm/next/components/Modal/ModalBoxDescription.js.map +1 -0
  205. package/dist/esm/next/components/Modal/ModalBoxTitle.d.ts +17 -0
  206. package/dist/esm/next/components/Modal/ModalBoxTitle.d.ts.map +1 -0
  207. package/dist/esm/next/components/Modal/ModalBoxTitle.js +38 -0
  208. package/dist/esm/next/components/Modal/ModalBoxTitle.js.map +1 -0
  209. package/dist/esm/next/components/Modal/ModalContent.d.ts +42 -0
  210. package/dist/esm/next/components/Modal/ModalContent.d.ts.map +1 -0
  211. package/dist/esm/next/components/Modal/ModalContent.js +45 -0
  212. package/dist/esm/next/components/Modal/ModalContent.js.map +1 -0
  213. package/dist/esm/next/components/Modal/ModalFooter.d.ts +10 -0
  214. package/dist/esm/next/components/Modal/ModalFooter.d.ts.map +1 -0
  215. package/dist/esm/next/components/Modal/ModalFooter.js +10 -0
  216. package/dist/esm/next/components/Modal/ModalFooter.js.map +1 -0
  217. package/dist/esm/next/components/Modal/ModalHeader.d.ts +25 -0
  218. package/dist/esm/next/components/Modal/ModalHeader.d.ts.map +1 -0
  219. package/dist/esm/next/components/Modal/ModalHeader.js +21 -0
  220. package/dist/esm/next/components/Modal/ModalHeader.js.map +1 -0
  221. package/dist/esm/next/components/Modal/index.d.ts +5 -0
  222. package/dist/esm/next/components/Modal/index.d.ts.map +1 -0
  223. package/dist/esm/next/components/Modal/index.js +5 -0
  224. package/dist/esm/next/components/Modal/index.js.map +1 -0
  225. package/dist/esm/next/components/index.d.ts +1 -1
  226. package/dist/esm/next/components/index.d.ts.map +1 -1
  227. package/dist/esm/next/components/index.js +1 -1
  228. package/dist/esm/next/components/index.js.map +1 -1
  229. package/dist/esm/styles/index.d.ts +2 -0
  230. package/dist/esm/styles/index.d.ts.map +1 -0
  231. package/dist/esm/styles/index.js +2 -0
  232. package/dist/esm/styles/index.js.map +1 -0
  233. package/dist/js/components/Accordion/Accordion.d.ts +2 -0
  234. package/dist/js/components/Accordion/Accordion.d.ts.map +1 -1
  235. package/dist/js/components/Accordion/Accordion.js +4 -3
  236. package/dist/js/components/Accordion/Accordion.js.map +1 -1
  237. package/dist/js/components/Accordion/AccordionContext.d.ts +1 -0
  238. package/dist/js/components/Accordion/AccordionContext.d.ts.map +1 -1
  239. package/dist/js/components/Accordion/AccordionContext.js.map +1 -1
  240. package/dist/js/components/Accordion/AccordionToggle.d.ts.map +1 -1
  241. package/dist/js/components/Accordion/AccordionToggle.js +7 -4
  242. package/dist/js/components/Accordion/AccordionToggle.js.map +1 -1
  243. package/dist/js/components/Checkbox/Checkbox.d.ts +9 -3
  244. package/dist/js/components/Checkbox/Checkbox.d.ts.map +1 -1
  245. package/dist/js/components/Checkbox/Checkbox.js +16 -8
  246. package/dist/js/components/Checkbox/Checkbox.js.map +1 -1
  247. package/dist/js/components/Chip/Chip.d.ts.map +1 -1
  248. package/dist/js/components/Chip/Chip.js +3 -1
  249. package/dist/js/components/Chip/Chip.js.map +1 -1
  250. package/dist/js/components/ClipboardCopy/ClipboardCopy.d.ts.map +1 -1
  251. package/dist/js/components/ClipboardCopy/ClipboardCopy.js +2 -1
  252. package/dist/js/components/ClipboardCopy/ClipboardCopy.js.map +1 -1
  253. package/dist/js/components/DragDrop/index.d.ts +1 -0
  254. package/dist/js/components/DragDrop/index.d.ts.map +1 -1
  255. package/dist/js/components/DragDrop/index.js +1 -0
  256. package/dist/js/components/DragDrop/index.js.map +1 -1
  257. package/dist/js/components/Dropdown/DropdownItem.d.ts +1 -1
  258. package/dist/js/components/DualListSelector/index.d.ts +2 -0
  259. package/dist/js/components/DualListSelector/index.d.ts.map +1 -1
  260. package/dist/js/components/DualListSelector/index.js +2 -0
  261. package/dist/js/components/DualListSelector/index.js.map +1 -1
  262. package/dist/js/components/FileUpload/FileUploadField.d.ts +2 -0
  263. package/dist/js/components/FileUpload/FileUploadField.d.ts.map +1 -1
  264. package/dist/js/components/FileUpload/FileUploadField.js +3 -3
  265. package/dist/js/components/FileUpload/FileUploadField.js.map +1 -1
  266. package/dist/js/components/Popover/Popover.js +4 -4
  267. package/dist/js/components/Popover/Popover.js.map +1 -1
  268. package/dist/js/components/Radio/Radio.d.ts +7 -5
  269. package/dist/js/components/Radio/Radio.d.ts.map +1 -1
  270. package/dist/js/components/Radio/Radio.js +13 -20
  271. package/dist/js/components/Radio/Radio.js.map +1 -1
  272. package/dist/js/components/Toolbar/ToolbarChipGroupContent.d.ts.map +1 -1
  273. package/dist/js/components/Toolbar/ToolbarChipGroupContent.js +1 -4
  274. package/dist/js/components/Toolbar/ToolbarChipGroupContent.js.map +1 -1
  275. package/dist/js/components/Toolbar/ToolbarExpandableContent.d.ts.map +1 -1
  276. package/dist/js/components/Toolbar/ToolbarExpandableContent.js +1 -3
  277. package/dist/js/components/Toolbar/ToolbarExpandableContent.js.map +1 -1
  278. package/dist/js/components/Toolbar/ToolbarGroup.d.ts +2 -3
  279. package/dist/js/components/Toolbar/ToolbarGroup.d.ts.map +1 -1
  280. package/dist/js/components/Toolbar/ToolbarGroup.js +1 -4
  281. package/dist/js/components/Toolbar/ToolbarGroup.js.map +1 -1
  282. package/dist/js/components/Toolbar/ToolbarItem.d.ts +1 -13
  283. package/dist/js/components/Toolbar/ToolbarItem.d.ts.map +1 -1
  284. package/dist/js/components/Toolbar/ToolbarItem.js +2 -20
  285. package/dist/js/components/Toolbar/ToolbarItem.js.map +1 -1
  286. package/dist/js/components/Toolbar/ToolbarToggleGroup.d.ts.map +1 -1
  287. package/dist/js/components/Toolbar/ToolbarToggleGroup.js +1 -3
  288. package/dist/js/components/Toolbar/ToolbarToggleGroup.js.map +1 -1
  289. package/dist/js/components/index.d.ts +1 -1
  290. package/dist/js/components/index.d.ts.map +1 -1
  291. package/dist/js/components/index.js +1 -1
  292. package/dist/js/components/index.js.map +1 -1
  293. package/dist/js/index.d.ts +1 -1
  294. package/dist/js/index.d.ts.map +1 -1
  295. package/dist/js/index.js +1 -4
  296. package/dist/js/index.js.map +1 -1
  297. package/dist/js/next/components/Modal/Modal.d.ts +73 -0
  298. package/dist/js/next/components/Modal/Modal.d.ts.map +1 -0
  299. package/dist/js/next/components/Modal/Modal.js +117 -0
  300. package/dist/js/next/components/Modal/Modal.js.map +1 -0
  301. package/dist/js/next/components/Modal/ModalBody.d.ts +19 -0
  302. package/dist/js/next/components/Modal/ModalBody.d.ts.map +1 -0
  303. package/dist/js/next/components/Modal/ModalBody.js +15 -0
  304. package/dist/js/next/components/Modal/ModalBody.js.map +1 -0
  305. package/dist/js/next/components/Modal/ModalBox.d.ts +21 -0
  306. package/dist/js/next/components/Modal/ModalBox.d.ts.map +1 -0
  307. package/dist/js/next/components/Modal/ModalBox.js +19 -0
  308. package/dist/js/next/components/Modal/ModalBox.js.map +1 -0
  309. package/dist/js/next/components/Modal/ModalBoxCloseButton.d.ts +14 -0
  310. package/dist/js/next/components/Modal/ModalBoxCloseButton.d.ts.map +1 -0
  311. package/dist/js/next/components/Modal/ModalBoxCloseButton.js +18 -0
  312. package/dist/js/next/components/Modal/ModalBoxCloseButton.js.map +1 -0
  313. package/dist/js/next/components/Modal/ModalBoxDescription.d.ts +11 -0
  314. package/dist/js/next/components/Modal/ModalBoxDescription.d.ts.map +1 -0
  315. package/dist/js/next/components/Modal/ModalBoxDescription.js +14 -0
  316. package/dist/js/next/components/Modal/ModalBoxDescription.js.map +1 -0
  317. package/dist/js/next/components/Modal/ModalBoxTitle.d.ts +17 -0
  318. package/dist/js/next/components/Modal/ModalBoxTitle.d.ts.map +1 -0
  319. package/dist/js/next/components/Modal/ModalBoxTitle.js +43 -0
  320. package/dist/js/next/components/Modal/ModalBoxTitle.js.map +1 -0
  321. package/dist/js/next/components/Modal/ModalContent.d.ts +42 -0
  322. package/dist/js/next/components/Modal/ModalContent.d.ts.map +1 -0
  323. package/dist/js/next/components/Modal/ModalContent.js +49 -0
  324. package/dist/js/next/components/Modal/ModalContent.js.map +1 -0
  325. package/dist/js/next/components/Modal/ModalFooter.d.ts +10 -0
  326. package/dist/js/next/components/Modal/ModalFooter.d.ts.map +1 -0
  327. package/dist/js/next/components/Modal/ModalFooter.js +14 -0
  328. package/dist/js/next/components/Modal/ModalFooter.js.map +1 -0
  329. package/dist/js/next/components/Modal/ModalHeader.d.ts +25 -0
  330. package/dist/js/next/components/Modal/ModalHeader.d.ts.map +1 -0
  331. package/dist/js/next/components/Modal/ModalHeader.js +25 -0
  332. package/dist/js/next/components/Modal/ModalHeader.js.map +1 -0
  333. package/dist/js/next/components/Modal/index.d.ts +5 -0
  334. package/dist/js/next/components/Modal/index.d.ts.map +1 -0
  335. package/dist/js/next/components/Modal/index.js +8 -0
  336. package/dist/js/next/components/Modal/index.js.map +1 -0
  337. package/dist/js/next/components/index.d.ts +1 -1
  338. package/dist/js/next/components/index.d.ts.map +1 -1
  339. package/dist/js/next/components/index.js +1 -1
  340. package/dist/js/next/components/index.js.map +1 -1
  341. package/dist/js/styles/index.d.ts +2 -0
  342. package/dist/js/styles/index.d.ts.map +1 -0
  343. package/dist/js/styles/index.js +5 -0
  344. package/dist/js/styles/index.js.map +1 -0
  345. package/dist/umd/react-core.min.js +1 -1
  346. package/helpers/package.json +1 -1
  347. package/layouts/package.json +1 -1
  348. package/next/package.json +1 -1
  349. package/package.json +5 -5
  350. package/single-packages.config.json +4 -4
  351. package/src/components/Accordion/Accordion.tsx +6 -1
  352. package/src/components/Accordion/AccordionContext.ts +1 -0
  353. package/src/components/Accordion/AccordionToggle.tsx +11 -5
  354. package/src/components/Accordion/__tests__/Accordion.test.tsx +12 -0
  355. package/src/components/Accordion/__tests__/AccordionToggle.test.tsx +28 -0
  356. package/src/components/Accordion/examples/Accordion.md +5 -0
  357. package/src/components/Accordion/examples/AccordionToggleIconAtStart.tsx +102 -0
  358. package/src/components/Checkbox/Checkbox.tsx +63 -29
  359. package/src/components/Checkbox/__tests__/Checkbox.test.tsx +41 -0
  360. package/src/components/Chip/Chip.tsx +2 -0
  361. package/src/components/Chip/__tests__/__snapshots__/Chip.test.tsx.snap +0 -1
  362. package/src/components/ClipboardCopy/ClipboardCopy.tsx +2 -1
  363. package/src/components/DataList/__tests__/__snapshots__/DataListAction.test.tsx.snap~HEAD +11 -0
  364. package/src/components/DataList/__tests__/__snapshots__/DataListAction.test.tsx.snap~main +11 -0
  365. package/src/components/DataList/__tests__/__snapshots__/DataListItemCells.test.tsx.snap~HEAD +9 -0
  366. package/src/components/DataList/__tests__/__snapshots__/DataListItemCells.test.tsx.snap~main +9 -0
  367. package/src/components/DataList/__tests__/__snapshots__/DataListItemRow.test.tsx.snap~HEAD +9 -0
  368. package/src/components/DataList/__tests__/__snapshots__/DataListItemRow.test.tsx.snap~main +9 -0
  369. package/src/components/DataList/examples/DataList.md +2 -2
  370. package/src/components/DragDrop/examples/DragDrop.md +4 -2
  371. package/src/components/DragDrop/examples/DragDropBasic.tsx +4 -4
  372. package/src/components/DragDrop/examples/DragDropMultipleLists.tsx +7 -2
  373. package/src/components/DragDrop/index.ts +1 -0
  374. package/src/components/DualListSelector/examples/DualListSelector.md +3 -1
  375. package/src/components/DualListSelector/index.ts +2 -0
  376. package/src/components/FileUpload/FileUploadField.tsx +4 -2
  377. package/src/components/FileUpload/__tests__/__snapshots__/FileUpload.test.tsx.snap +0 -1
  378. package/src/components/FileUpload/__tests__/__snapshots__/FileUploadField.test.tsx.snap +0 -1
  379. package/src/components/Popover/Popover.tsx +4 -4
  380. package/src/components/Radio/Radio.tsx +39 -38
  381. package/src/components/Radio/__tests__/Radio.test.tsx +41 -0
  382. package/src/components/Toolbar/ToolbarChipGroupContent.tsx +1 -7
  383. package/src/components/Toolbar/ToolbarExpandableContent.tsx +0 -1
  384. package/src/components/Toolbar/ToolbarGroup.tsx +2 -4
  385. package/src/components/Toolbar/ToolbarItem.tsx +2 -41
  386. package/src/components/Toolbar/ToolbarToggleGroup.tsx +0 -1
  387. package/src/components/Toolbar/__tests__/ToolbarItem.test.tsx +0 -14
  388. package/src/components/Toolbar/examples/Toolbar.md +0 -10
  389. package/src/components/Toolbar/examples/ToolbarComponentManagedToggleGroups.tsx +1 -1
  390. package/src/components/Toolbar/examples/ToolbarConsumerManagedToggleGroups.tsx +1 -1
  391. package/src/components/Toolbar/examples/ToolbarGroups.tsx +1 -1
  392. package/src/components/Toolbar/examples/ToolbarItems.tsx +1 -1
  393. package/src/components/Toolbar/examples/ToolbarStacked.tsx +2 -2
  394. package/src/components/Toolbar/examples/ToolbarWithFilters.tsx +1 -1
  395. package/src/components/TreeView/examples/TreeViewWithSearch.tsx +1 -1
  396. package/src/components/index.ts +1 -1
  397. package/src/demos/CardView/examples/CardView.tsx +2 -2
  398. package/src/demos/DataList/examples/DataListBasic.tsx +2 -2
  399. package/src/demos/ExpandableSection/ExpandableSection.md +17 -0
  400. package/src/demos/ExpandableSection/examples/ExpandableTextDemo.tsx +30 -0
  401. package/src/demos/Filters/examples/FilterSearchInput.tsx +1 -1
  402. package/src/index.ts +1 -1
  403. package/src/next/components/Modal/Modal.tsx +202 -0
  404. package/src/next/components/Modal/ModalBody.tsx +42 -0
  405. package/src/next/components/Modal/ModalBox.tsx +63 -0
  406. package/src/next/components/Modal/ModalBoxCloseButton.tsx +38 -0
  407. package/src/next/components/Modal/ModalBoxDescription.tsx +24 -0
  408. package/src/next/components/Modal/ModalBoxTitle.tsx +75 -0
  409. package/src/next/components/Modal/ModalContent.tsx +131 -0
  410. package/src/next/components/Modal/ModalFooter.tsx +23 -0
  411. package/src/next/components/Modal/ModalHeader.tsx +71 -0
  412. package/src/next/components/Modal/__tests__/Modal.test.tsx +145 -0
  413. package/src/next/components/Modal/__tests__/ModalBody.test.tsx +60 -0
  414. package/src/next/components/Modal/__tests__/ModalBox.test.tsx +58 -0
  415. package/src/next/components/Modal/__tests__/ModalBoxCloseButton.test.tsx +18 -0
  416. package/src/next/components/Modal/__tests__/ModalBoxDescription.test.tsx +8 -0
  417. package/src/next/components/Modal/__tests__/ModalBoxHeader.test.tsx +21 -0
  418. package/src/next/components/Modal/__tests__/ModalBoxTitle.test.tsx +37 -0
  419. package/src/next/components/Modal/__tests__/ModalContent.test.tsx +46 -0
  420. package/src/next/components/Modal/__tests__/ModalFooter.test.tsx +8 -0
  421. package/src/next/components/Modal/__tests__/__snapshots__/ModalBody.test.tsx.snap +12 -0
  422. package/src/next/components/Modal/__tests__/__snapshots__/ModalBox.test.tsx.snap +86 -0
  423. package/src/next/components/Modal/__tests__/__snapshots__/ModalBoxDescription.test.tsx.snap +12 -0
  424. package/src/next/components/Modal/__tests__/__snapshots__/ModalBoxHeader.test.tsx.snap +46 -0
  425. package/src/next/components/Modal/__tests__/__snapshots__/ModalBoxTitle.test.tsx.snap +218 -0
  426. package/src/next/components/Modal/__tests__/__snapshots__/ModalContent.test.tsx.snap +128 -0
  427. package/src/next/components/Modal/__tests__/__snapshots__/ModalFooter.test.tsx.snap +11 -0
  428. package/src/next/components/Modal/examples/Modal.md +148 -0
  429. package/src/next/components/Modal/examples/ModalBasic.tsx +43 -0
  430. package/src/next/components/Modal/examples/ModalCustomFocus.tsx +43 -0
  431. package/src/next/components/Modal/examples/ModalCustomHeader.tsx +58 -0
  432. package/src/next/components/Modal/examples/ModalCustomTitleIcon.tsx +54 -0
  433. package/src/next/components/Modal/examples/ModalCustomWidth.tsx +43 -0
  434. package/src/next/components/Modal/examples/ModalNoHeaderFooter.tsx +40 -0
  435. package/src/next/components/Modal/examples/ModalSize.tsx +63 -0
  436. package/src/next/components/Modal/examples/ModalTitleIcon.tsx +48 -0
  437. package/src/next/components/Modal/examples/ModalTopAligned.tsx +43 -0
  438. package/src/next/components/Modal/examples/ModalWithDescription.tsx +80 -0
  439. package/src/next/components/Modal/examples/ModalWithDropdown.tsx +105 -0
  440. package/src/next/components/Modal/examples/ModalWithForm.tsx +211 -0
  441. package/src/next/components/Modal/examples/ModalWithHelp.tsx +63 -0
  442. package/src/next/components/Modal/examples/ModalWithOverflowingContent.tsx +75 -0
  443. package/src/next/components/Modal/examples/ModalWithWizard.tsx +59 -0
  444. package/src/next/components/Modal/index.ts +4 -0
  445. package/src/next/components/index.ts +1 -1
  446. package/src/styles/index.ts +1 -0
  447. package/src/components/Toolbar/__tests__/__snapshots__/ToolbarItem.test.tsx.snap +0 -12
  448. package/src/components/Toolbar/examples/ToolbarWidths.tsx +0 -30
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-helpers","main":"../dist/js/helpers/index.js","module":"../dist/esm/helpers/index.js","typings":"../dist/esm/helpers/index.d.ts","version":"6.0.0-alpha.18","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.19","private":true}
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-layouts","main":"../dist/js/layouts/index.js","module":"../dist/esm/layouts/index.js","typings":"../dist/esm/layouts/index.d.ts","version":"6.0.0-alpha.18","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.19","private":true}
package/next/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-next","main":"../dist/js/next/index.js","module":"../dist/esm/next/index.js","typings":"../dist/esm/next/index.d.ts","version":"6.0.0-alpha.18","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.19","private":true}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@patternfly/react-core",
3
- "version": "6.0.0-alpha.19",
3
+ "version": "6.0.0-alpha.20",
4
4
  "description": "This library provides a set of common React components for use with the PatternFly reference implementation.",
5
5
  "main": "dist/js/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -46,9 +46,9 @@
46
46
  "subpaths": "node ../../scripts/exportSubpaths.js --config subpaths.config.json"
47
47
  },
48
48
  "dependencies": {
49
- "@patternfly/react-icons": "^6.0.0-alpha.9",
50
- "@patternfly/react-styles": "^6.0.0-alpha.9",
51
- "@patternfly/react-tokens": "^6.0.0-alpha.9",
49
+ "@patternfly/react-icons": "^6.0.0-alpha.10",
50
+ "@patternfly/react-styles": "^6.0.0-alpha.10",
51
+ "@patternfly/react-tokens": "^6.0.0-alpha.10",
52
52
  "focus-trap": "7.5.2",
53
53
  "react-dropzone": "^14.2.3",
54
54
  "tslib": "^2.5.0"
@@ -72,5 +72,5 @@
72
72
  "react": "^17 || ^18",
73
73
  "react-dom": "^17 || ^18"
74
74
  },
75
- "gitHead": "37065eb0c351bcf1dda075cc6836ab72a18fb170"
75
+ "gitHead": "d00a526836d0f533fdbf7f6144dd7a89dfad6542"
76
76
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "packageName": "@patternfly/react-core",
3
- "moduleGlob": ["/dist/esm/helpers/**/*.js", "/dist/esm/*/*/**/index.js"],
4
- "exclude": ["/dist/esm/helpers/Popper/thirdparty"]
5
- }
2
+ "packageName": "@patternfly/react-core",
3
+ "moduleGlob": ["/dist/esm/helpers/**/*.js", "/dist/esm/styles/**/index.js", "/dist/esm/*/*/**/index.js"],
4
+ "exclude": ["/dist/esm/helpers/Popper/thirdparty"]
5
+ }
@@ -18,6 +18,8 @@ export interface AccordionProps extends React.HTMLProps<HTMLDListElement> {
18
18
  isBordered?: boolean;
19
19
  /** Display size variant. */
20
20
  displaySize?: 'default' | 'lg';
21
+ /** Sets the toggle icon position for all accordion toggles. */
22
+ togglePosition?: 'start' | 'end';
21
23
  }
22
24
 
23
25
  export const Accordion: React.FunctionComponent<AccordionProps> = ({
@@ -28,6 +30,7 @@ export const Accordion: React.FunctionComponent<AccordionProps> = ({
28
30
  asDefinitionList = true,
29
31
  isBordered = false,
30
32
  displaySize = 'default',
33
+ togglePosition = 'end',
31
34
  ...props
32
35
  }: AccordionProps) => {
33
36
  const AccordionList: any = asDefinitionList ? 'dl' : 'div';
@@ -36,6 +39,7 @@ export const Accordion: React.FunctionComponent<AccordionProps> = ({
36
39
  className={css(
37
40
  styles.accordion,
38
41
  isBordered && styles.modifiers.bordered,
42
+ togglePosition === 'start' && styles.modifiers.toggleStart,
39
43
  displaySize === 'lg' && styles.modifiers.displayLg,
40
44
  className
41
45
  )}
@@ -46,7 +50,8 @@ export const Accordion: React.FunctionComponent<AccordionProps> = ({
46
50
  <AccordionContext.Provider
47
51
  value={{
48
52
  ContentContainer: asDefinitionList ? 'dd' : 'div',
49
- ToggleContainer: asDefinitionList ? 'dt' : headingLevel
53
+ ToggleContainer: asDefinitionList ? 'dt' : headingLevel,
54
+ togglePosition
50
55
  }}
51
56
  >
52
57
  {children}
@@ -3,6 +3,7 @@ import * as React from 'react';
3
3
  interface AccordionContextProps {
4
4
  ContentContainer: React.ElementType;
5
5
  ToggleContainer: React.ElementType;
6
+ togglePosition: 'start' | 'end';
6
7
  }
7
8
 
8
9
  interface AccordionItemContextProps {
@@ -23,26 +23,32 @@ export const AccordionToggle: React.FunctionComponent<AccordionToggleProps> = ({
23
23
  component,
24
24
  ...props
25
25
  }: AccordionToggleProps) => {
26
+ const renderToggleIcon = () => (
27
+ <span className={css(styles.accordionToggleIcon)}>
28
+ <AngleRightIcon />
29
+ </span>
30
+ );
31
+
26
32
  const { isExpanded } = React.useContext(AccordionItemContext);
27
33
 
28
34
  return (
29
35
  <AccordionContext.Consumer>
30
- {({ ToggleContainer }) => {
36
+ {({ ToggleContainer, togglePosition }) => {
31
37
  const Container = component || ToggleContainer;
38
+ const isToggleStartPositioned = togglePosition === 'start';
32
39
 
33
40
  return (
34
41
  <Container>
35
42
  <button
36
43
  id={id}
37
- className={css(styles.accordionToggle, className)}
44
+ className={css(styles.accordionToggle, isExpanded && styles.modifiers.expanded, className)}
38
45
  aria-expanded={isExpanded}
39
46
  type="button"
40
47
  {...props}
41
48
  >
49
+ {isToggleStartPositioned && renderToggleIcon()}
42
50
  <span className={css(styles.accordionToggleText)}>{children}</span>
43
- <span className={css(styles.accordionToggleIcon)}>
44
- <AngleRightIcon />
45
- </span>
51
+ {!isToggleStartPositioned && renderToggleIcon()}
46
52
  </button>
47
53
  </Container>
48
54
  );
@@ -135,6 +135,18 @@ test('Renders with pf-m-display-lg when displaySize="lg"', () => {
135
135
  expect(screen.getByText('Test')).toHaveClass('pf-m-display-lg');
136
136
  });
137
137
 
138
+ test(`Renders without class ${styles.modifiers.toggleStart} by default`, () => {
139
+ render(<Accordion>Test</Accordion>);
140
+
141
+ expect(screen.getByText('Test')).not.toHaveClass(styles.modifiers.toggleStart);
142
+ });
143
+
144
+ test(`Renders with class ${styles.modifiers.toggleStart} when togglePosition='start'`, () => {
145
+ render(<Accordion togglePosition="start">Test</Accordion>);
146
+
147
+ expect(screen.getByText('Test')).toHaveClass(styles.modifiers.toggleStart);
148
+ });
149
+
138
150
  test('Matches the snapshot', () => {
139
151
  const { asFragment } = render(<Accordion aria-label="this is a simple accordion" />);
140
152
  expect(asFragment()).toMatchSnapshot();
@@ -155,6 +155,34 @@ test('Renders the toggle with aria-expanded=true when isExpanded from context is
155
155
  expect(toggle).toHaveAttribute('aria-expanded', 'true');
156
156
  });
157
157
 
158
+ test('Renders toggle text before toggle icon by default', () => {
159
+ render(
160
+ <AccordionContext.Provider value={{ ToggleContainer: 'h3' }}>
161
+ <AccordionToggle id="accordion-toggle" isExpanded>
162
+ Test
163
+ </AccordionToggle>
164
+ </AccordionContext.Provider>
165
+ );
166
+
167
+ const toggle = screen.getByRole('button');
168
+
169
+ expect(toggle.firstChild).toHaveClass(styles.accordionToggleText);
170
+ });
171
+
172
+ test('Renders toggle icon before toggle text when togglePosition from context = "start"', () => {
173
+ render(
174
+ <AccordionContext.Provider value={{ ToggleContainer: 'h3', togglePosition: 'start' }}>
175
+ <AccordionToggle id="accordion-toggle" isExpanded>
176
+ Test
177
+ </AccordionToggle>
178
+ </AccordionContext.Provider>
179
+ );
180
+
181
+ const toggle = screen.getByRole('button');
182
+
183
+ expect(toggle.firstChild).toHaveClass(styles.accordionToggleIcon);
184
+ });
185
+
158
186
  test('Matches the snapshot', () => {
159
187
  const { asFragment } = render(
160
188
  <AccordionContext.Provider value={{ ToggleContainer: 'h3' }}>
@@ -28,3 +28,8 @@ import ArrowRightIcon from '@patternfly/react-icons/dist/esm/icons/arrow-right-i
28
28
 
29
29
  ```ts file="./AccordionBordered.tsx"
30
30
  ```
31
+
32
+ ### Toggle icon at start
33
+
34
+ ```ts file="./AccordionToggleIconAtStart.tsx"
35
+ ```
@@ -0,0 +1,102 @@
1
+ import React from 'react';
2
+ import { Accordion, AccordionItem, AccordionContent, AccordionToggle } from '@patternfly/react-core';
3
+
4
+ export const AccordionToggleIconAtStart: React.FunctionComponent = () => {
5
+ const [expanded, setExpanded] = React.useState('start-toggle-toggle2');
6
+
7
+ const onToggle = (id: string) => {
8
+ if (id === expanded) {
9
+ setExpanded('');
10
+ } else {
11
+ setExpanded(id);
12
+ }
13
+ };
14
+
15
+ return (
16
+ <Accordion togglePosition="start">
17
+ <AccordionItem isExpanded={expanded === 'start-toggle-toggle1'}>
18
+ <AccordionToggle
19
+ onClick={() => {
20
+ onToggle('start-toggle-toggle1');
21
+ }}
22
+ id="start-toggle-toggle1"
23
+ >
24
+ Item one
25
+ </AccordionToggle>
26
+ <AccordionContent id="start-toggle-expand1">
27
+ <p>
28
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et
29
+ dolore magna aliqua.
30
+ </p>
31
+ </AccordionContent>
32
+ </AccordionItem>
33
+
34
+ <AccordionItem isExpanded={expanded === 'start-toggle-toggle2'}>
35
+ <AccordionToggle
36
+ onClick={() => {
37
+ onToggle('start-toggle-toggle2');
38
+ }}
39
+ id="start-toggle-toggle2"
40
+ >
41
+ Item two
42
+ </AccordionToggle>
43
+ <AccordionContent id="start-toggle-expand2">
44
+ <p>
45
+ Vivamus et tortor sed arcu congue vehicula eget et diam. Praesent nec dictum lorem. Aliquam id diam
46
+ ultrices, faucibus erat id, maximus nunc.
47
+ </p>
48
+ </AccordionContent>
49
+ </AccordionItem>
50
+
51
+ <AccordionItem isExpanded={expanded === 'start-toggle-toggle3'}>
52
+ <AccordionToggle
53
+ onClick={() => {
54
+ onToggle('start-toggle-toggle3');
55
+ }}
56
+ id="start-toggle-toggle3"
57
+ >
58
+ Item three
59
+ </AccordionToggle>
60
+ <AccordionContent id="start-toggle-expand3">
61
+ <p>Morbi vitae urna quis nunc convallis hendrerit. Aliquam congue orci quis ultricies tempus.</p>
62
+ </AccordionContent>
63
+ </AccordionItem>
64
+
65
+ <AccordionItem isExpanded={expanded === 'start-toggle-toggle4'}>
66
+ <AccordionToggle
67
+ onClick={() => {
68
+ onToggle('start-toggle-toggle4');
69
+ }}
70
+ id="start-toggle-toggle4"
71
+ >
72
+ Item four
73
+ </AccordionToggle>
74
+ <AccordionContent id="start-toggle-expand4">
75
+ <p>
76
+ Donec vel posuere orci. Phasellus quis tortor a ex hendrerit efficitur. Aliquam lacinia ligula pharetra,
77
+ sagittis ex ut, pellentesque diam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere
78
+ cubilia Curae; Vestibulum ultricies nulla nibh. Etiam vel dui fermentum ligula ullamcorper eleifend non quis
79
+ tortor. Morbi tempus ornare tempus. Orci varius natoque penatibus et magnis dis parturient montes, nascetur
80
+ ridiculus mus. Mauris et velit neque. Donec ultricies condimentum mauris, pellentesque imperdiet libero
81
+ convallis convallis. Aliquam erat volutpat. Donec rutrum semper tempus. Proin dictum imperdiet nibh, quis
82
+ dapibus nulla. Integer sed tincidunt lectus, sit amet auctor eros.
83
+ </p>
84
+ </AccordionContent>
85
+ </AccordionItem>
86
+
87
+ <AccordionItem isExpanded={expanded === 'start-toggle-toggle5'}>
88
+ <AccordionToggle
89
+ onClick={() => {
90
+ onToggle('start-toggle-toggle5');
91
+ }}
92
+ id="start-toggle-toggle5"
93
+ >
94
+ Item five
95
+ </AccordionToggle>
96
+ <AccordionContent id="start-toggle-expand5">
97
+ <p>Vivamus finibus dictum ex id ultrices. Mauris dictum neque a iaculis blandit.</p>
98
+ </AccordionContent>
99
+ </AccordionItem>
100
+ </Accordion>
101
+ );
102
+ };
@@ -8,10 +8,16 @@ import { ASTERISK } from '../../helpers/htmlConstants';
8
8
  export interface CheckboxProps
9
9
  extends Omit<React.HTMLProps<HTMLInputElement>, 'type' | 'onChange' | 'disabled' | 'label'>,
10
10
  OUIAProps {
11
- /** Additional classes added to the checkbox. */
11
+ /** Additional classes added to the checkbox wrapper. This wrapper will be div element by default. It will be a label element if
12
+ * isLabelWrapped is true, or it can be overridden by any element specified in the component prop.
13
+ */
12
14
  className?: string;
13
- /** Additional classed added to the radio input */
15
+ /** Additional classes added to the checkbox input. */
14
16
  inputClassName?: string;
17
+ /** Flag to indicate whether the checkbox wrapper element is a <label> element for the checkbox input. Will not apply if a component prop (with a value other than a "label") is specified. */
18
+ isLabelWrapped?: boolean;
19
+ /** Flag to show if the checkbox label is shown before the checkbox input. */
20
+ isLabelBeforeButton?: boolean;
15
21
  /** Flag to show if the checkbox selection is valid or invalid. */
16
22
  isValid?: boolean;
17
23
  /** Flag to show if the checkbox is disabled. */
@@ -33,7 +39,7 @@ export interface CheckboxProps
33
39
  description?: React.ReactNode;
34
40
  /** Body text of the checkbox */
35
41
  body?: React.ReactNode;
36
- /** Sets the input wrapper component to render. Defaults to <div> */
42
+ /** Sets the checkbox wrapper component to render. Defaults to "div". If set to "label", behaves the same as if isLabelWrapped prop was specified. */
37
43
  component?: React.ElementType;
38
44
  /** Value to overwrite the randomly generated data-ouia-component-id.*/
39
45
  ouiaId?: number | string;
@@ -52,13 +58,13 @@ class Checkbox extends React.Component<CheckboxProps, CheckboxState> {
52
58
  static displayName = 'Checkbox';
53
59
  static defaultProps: PickOptional<CheckboxProps> = {
54
60
  className: '',
61
+ isLabelWrapped: false,
55
62
  isValid: true,
56
63
  isDisabled: false,
57
64
  isRequired: false,
58
65
  isChecked: false,
59
66
  onChange: defaultOnChange,
60
- ouiaSafe: true,
61
- component: 'div'
67
+ ouiaSafe: true
62
68
  };
63
69
 
64
70
  constructor(props: any) {
@@ -78,6 +84,8 @@ class Checkbox extends React.Component<CheckboxProps, CheckboxState> {
78
84
  className,
79
85
  inputClassName,
80
86
  onChange,
87
+ isLabelWrapped,
88
+ isLabelBeforeButton,
81
89
  isValid,
82
90
  isDisabled,
83
91
  isRequired,
@@ -89,7 +97,7 @@ class Checkbox extends React.Component<CheckboxProps, CheckboxState> {
89
97
  body,
90
98
  ouiaId,
91
99
  ouiaSafe,
92
- component: Component,
100
+ component,
93
101
  ...props
94
102
  } = this.props;
95
103
  if (!props.id) {
@@ -107,31 +115,57 @@ class Checkbox extends React.Component<CheckboxProps, CheckboxState> {
107
115
  checkedProps.defaultChecked = defaultChecked;
108
116
  }
109
117
 
118
+ const inputRendered = (
119
+ <input
120
+ {...props}
121
+ className={css(styles.checkInput, inputClassName)}
122
+ type="checkbox"
123
+ onChange={this.handleChange}
124
+ aria-invalid={!isValid}
125
+ aria-label={ariaLabel}
126
+ disabled={isDisabled}
127
+ required={isRequired}
128
+ ref={(elem) => elem && (elem.indeterminate = isChecked === null)}
129
+ {...checkedProps}
130
+ {...getOUIAProps(Checkbox.displayName, ouiaId !== undefined ? ouiaId : this.state.ouiaStateId, ouiaSafe)}
131
+ />
132
+ );
133
+
134
+ const wrapWithLabel = (isLabelWrapped && !component) || component === 'label';
135
+
136
+ const Label = wrapWithLabel ? 'span' : 'label';
137
+ const labelRendered = label ? (
138
+ <Label
139
+ className={css(styles.checkLabel, isDisabled && styles.modifiers.disabled)}
140
+ htmlFor={!wrapWithLabel && props.id}
141
+ >
142
+ {label}
143
+ {isRequired && (
144
+ <span className={css(styles.checkLabelRequired)} aria-hidden="true">
145
+ {ASTERISK}
146
+ </span>
147
+ )}
148
+ </Label>
149
+ ) : null;
150
+
151
+ const Component = component ?? (wrapWithLabel ? 'label' : 'div');
152
+
110
153
  checkedProps.checked = checkedProps.checked === null ? false : checkedProps.checked;
111
154
  return (
112
- <Component className={css(styles.check, !label && styles.modifiers.standalone, className)}>
113
- <input
114
- {...props}
115
- className={css(styles.checkInput, inputClassName)}
116
- type="checkbox"
117
- onChange={this.handleChange}
118
- aria-invalid={!isValid}
119
- aria-label={ariaLabel}
120
- disabled={isDisabled}
121
- required={isRequired}
122
- ref={(elem) => elem && (elem.indeterminate = isChecked === null)}
123
- {...checkedProps}
124
- {...getOUIAProps(Checkbox.displayName, ouiaId !== undefined ? ouiaId : this.state.ouiaStateId, ouiaSafe)}
125
- />
126
- {label && (
127
- <label className={css(styles.checkLabel, isDisabled && styles.modifiers.disabled)} htmlFor={props.id}>
128
- {label}
129
- {isRequired && (
130
- <span className={css(styles.checkLabelRequired)} aria-hidden="true">
131
- {ASTERISK}
132
- </span>
133
- )}
134
- </label>
155
+ <Component
156
+ className={css(styles.check, !label && styles.modifiers.standalone, className)}
157
+ htmlFor={wrapWithLabel && props.id}
158
+ >
159
+ {isLabelBeforeButton ? (
160
+ <>
161
+ {labelRendered}
162
+ {inputRendered}
163
+ </>
164
+ ) : (
165
+ <>
166
+ {inputRendered}
167
+ {labelRendered}
168
+ </>
135
169
  )}
136
170
  {description && <span className={css(styles.checkDescription)}>{description}</span>}
137
171
  {body && <span className={css(styles.checkBody)}>{body}</span>}
@@ -231,6 +231,47 @@ test('Renders with the provided component', () => {
231
231
  expect(screen.getByRole('checkbox').parentElement?.tagName).toBe('SPAN');
232
232
  });
233
233
 
234
+ test('Renders with the label wrapper if isLabelWrapped is provided', () => {
235
+ render(<Checkbox id="test-id" isLabelWrapped />);
236
+
237
+ expect(screen.getByRole('checkbox').parentElement?.tagName).toBe('LABEL');
238
+ });
239
+
240
+ test('Renders with span element around the inner label text if isLabelWrapped is provided', () => {
241
+ const labelText = 'test checkbox label';
242
+ render(<Checkbox id="test-id" isLabelWrapped label={labelText} />);
243
+
244
+ expect(screen.getByText(labelText).tagName).toBe('SPAN');
245
+ });
246
+
247
+ test('Renders with the provided component although isLabelWrapped is provided', () => {
248
+ render(<Checkbox id="test-id" isLabelWrapped component="h3" />);
249
+
250
+ expect(screen.getByRole('checkbox').parentElement?.tagName).toBe('H3');
251
+ });
252
+
253
+ test('Renders with the label wrapper if component is set to label', () => {
254
+ render(<Checkbox id="test-id" component="label" />);
255
+
256
+ expect(screen.getByRole('checkbox').parentElement?.tagName).toBe('LABEL');
257
+ });
258
+
259
+ test('Renders with span element around the inner label text if component is set to label', () => {
260
+ const labelText = 'test checkbox label';
261
+ render(<Checkbox id="test-id" component="label" label={labelText} />);
262
+
263
+ expect(screen.getByText(labelText).tagName).toBe('SPAN');
264
+ });
265
+
266
+ test('Renders label before checkbox input if isLabelBeforeButton is provided', () => {
267
+ render(<Checkbox id="test-id" isLabelBeforeButton label={'test checkbox label'} />);
268
+
269
+ const wrapper = screen.getByRole('checkbox').parentElement!;
270
+
271
+ expect(wrapper.children[0].tagName).toBe('LABEL');
272
+ expect(wrapper.children[1].tagName).toBe('INPUT');
273
+ });
274
+
234
275
  test(`Spreads additional props`, () => {
235
276
  render(<Checkbox id="test-id" data-testid="test-id" />);
236
277
 
@@ -149,6 +149,8 @@ class Chip extends React.Component<ChipProps, ChipState> {
149
149
  isOverflowChip,
150
150
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
151
151
  tooltipPosition,
152
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
153
+ id: idProp,
152
154
  component,
153
155
  ouiaId,
154
156
  textMaxWidth,
@@ -7,7 +7,6 @@ exports[`Matches snapshot 1`] = `
7
7
  data-ouia-component-id="snapshot-test"
8
8
  data-ouia-component-type="PF5/Chip"
9
9
  data-ouia-safe="true"
10
- id="snapshot-test"
11
10
  >
12
11
  <span
13
12
  class="pf-v5-c-chip__content"
@@ -120,7 +120,8 @@ class ClipboardCopy extends React.Component<ClipboardCopyProps, ClipboardCopySta
120
120
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
121
121
  componentDidUpdate = (prevProps: ClipboardCopyProps, prevState: ClipboardCopyState) => {
122
122
  if (prevProps.children !== this.props.children) {
123
- this.setState({ text: this.props.children as string });
123
+ const newText = this.props.children as string;
124
+ this.setState({ text: newText, textWhenExpanded: newText });
124
125
  }
125
126
  };
126
127
 
@@ -0,0 +1,11 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Renders to match snapshot 1`] = `
4
+ <DocumentFragment>
5
+ <div
6
+ class="pf-v5-c-data-list__item-action"
7
+ >
8
+ test
9
+ </div>
10
+ </DocumentFragment>
11
+ `;
@@ -0,0 +1,11 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Renders to match snapshot 1`] = `
4
+ <DocumentFragment>
5
+ <div
6
+ class="pf-v5-c-data-list__item-action"
7
+ >
8
+ test
9
+ </div>
10
+ </DocumentFragment>
11
+ `;
@@ -0,0 +1,9 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Cells renders to match snapshot 1`] = `
4
+ <DocumentFragment>
5
+ <div
6
+ class="pf-v5-c-data-list__item-content"
7
+ />
8
+ </DocumentFragment>
9
+ `;
@@ -0,0 +1,9 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Cells renders to match snapshot 1`] = `
4
+ <DocumentFragment>
5
+ <div
6
+ class="pf-v5-c-data-list__item-content"
7
+ />
8
+ </DocumentFragment>
9
+ `;
@@ -0,0 +1,9 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Item row renders to match snapshot 1`] = `
4
+ <DocumentFragment>
5
+ <div
6
+ class="pf-v5-c-data-list__item-row"
7
+ />
8
+ </DocumentFragment>
9
+ `;
@@ -0,0 +1,9 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Item row renders to match snapshot 1`] = `
4
+ <DocumentFragment>
5
+ <div
6
+ class="pf-v5-c-data-list__item-row"
7
+ />
8
+ </DocumentFragment>
9
+ `;
@@ -86,9 +86,9 @@ import global_BorderWidth_sm from '@patternfly/react-tokens/dist/esm/global_Bord
86
86
 
87
87
  ### Draggable
88
88
 
89
- Draggable data lists used to have their own HTML5-based API for drag and drop, which wasn't able to fulfill requirements such as custom styling on items being dragged. So we wrote generic `DragDrop`, `Draggable`, and `Droppable` components for this purpose. Use those new components instead of the deprecated (and buggy!) HTML5-based API.
89
+ Note: There is a new recommended drag and drop implementation with full keyboard functionality, which replaces this implementation. To adhere to our new recommendations, refer to the [drag and drop demos](/components/drag-and-drop/react-next-demos).
90
90
 
91
- Note: Keyboard accessibility and screen reader accessibility for the `DragDrop` component are still in development.
91
+ Previously, draggable data lists had their own API for the [drag and drop component](/components/drag-and-drop), which wasn't flexible enough to allow custom styling for items as they are dragged. To address this disparity, `<DragDrop>`, `<Draggable>`, and `<Droppable>` components were added to replace our now deprecated HTML5-based API. Keyboard and screen reader accessibility for the `<DragDrop>` component is still in development.
92
92
 
93
93
  ```ts isBeta file="./DataListDraggable.tsx"
94
94
 
@@ -2,10 +2,10 @@
2
2
  id: Drag and drop
3
3
  section: components
4
4
  propComponents: [DragDrop, Draggable, Droppable, DraggableItemPosition]
5
- beta: true
5
+ title: Drag and drop
6
6
  ---
7
7
 
8
- You can use the `DragDrop` component to move items in or between lists. The `DragDrop` component should contain `Droppable` components which contain `Draggable` components.
8
+ You can use the `<DragDrop>` component to move items in or between lists. The `<DragDrop>` component should contain `<Droppable>` components which contain `<Draggable>` components.
9
9
 
10
10
  ```ts noLive
11
11
  import React from 'react';
@@ -35,9 +35,11 @@ Note: Keyboard accessibility and screen reader accessibility are still in develo
35
35
  ### Basic
36
36
 
37
37
  ```ts file="./DragDropBasic.tsx"
38
+
38
39
  ```
39
40
 
40
41
  ### Multiple lists
41
42
 
42
43
  ```ts file="./DragDropMultipleLists.tsx"
44
+
43
45
  ```