@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
@@ -20,14 +20,14 @@ const getItems = (count: number) =>
20
20
  }));
21
21
 
22
22
  const reorder = (list: ItemType[], startIndex: number, endIndex: number) => {
23
- const result = list;
23
+ const result = [...list];
24
24
  const [removed] = result.splice(startIndex, 1);
25
25
  result.splice(endIndex, 0, removed);
26
26
  return result;
27
27
  };
28
28
 
29
29
  export const DragDropBasic: React.FunctionComponent = () => {
30
- const [items, setItems] = React.useState(getItems(10));
30
+ const [items, setItems] = React.useState<ItemType[]>(getItems(10));
31
31
 
32
32
  function onDrop(source: SourceType, dest: DestinationType) {
33
33
  if (dest) {
@@ -42,8 +42,8 @@ export const DragDropBasic: React.FunctionComponent = () => {
42
42
  return (
43
43
  <DragDrop onDrop={onDrop}>
44
44
  <Droppable>
45
- {items.map(({ content }, i) => (
46
- <Draggable key={i} style={{ padding: '8px' }}>
45
+ {items.map(({ id, content }) => (
46
+ <Draggable key={id} style={{ padding: '8px' }}>
47
47
  {content}
48
48
  </Draggable>
49
49
  ))}
@@ -11,6 +11,11 @@ interface SourceType {
11
11
  index: number;
12
12
  }
13
13
 
14
+ interface MultipleListState {
15
+ items1: ItemType[];
16
+ items2: ItemType[];
17
+ }
18
+
14
19
  interface DestinationType extends SourceType {}
15
20
 
16
21
  const getItems = (count: number, startIndex: number) =>
@@ -35,7 +40,7 @@ const move = (source: ItemType[], destination: ItemType[], sourceIndex: number,
35
40
  };
36
41
 
37
42
  export const DragDropMultipleLists: React.FunctionComponent = () => {
38
- const [items, setItems] = React.useState({
43
+ const [items, setItems] = React.useState<MultipleListState>({
39
44
  items1: getItems(10, 0),
40
45
  items2: getItems(5, 10)
41
46
  });
@@ -84,7 +89,7 @@ export const DragDropMultipleLists: React.FunctionComponent = () => {
84
89
  {Object.entries(items).map(([key, subitems]) => (
85
90
  <SplitItem key={key} style={{ flex: 1 }}>
86
91
  <Droppable zone="multizone" droppableId={key}>
87
- {subitems.map(({ id, content }) => (
92
+ {(subitems as ItemType[]).map(({ id, content }) => (
88
93
  <Draggable key={id} style={{ padding: '8px' }}>
89
94
  {content}
90
95
  </Draggable>
@@ -1,3 +1,4 @@
1
1
  export * from './DragDrop';
2
2
  export * from './Draggable';
3
3
  export * from './Droppable';
4
+ export * from './DroppableContext';
@@ -87,6 +87,8 @@ The dual list selector can also be built in a composable manner to make customiz
87
87
 
88
88
  ### Composable with drag and drop
89
89
 
90
+ 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).
91
+
90
92
  This example only allows reordering the contents of the "chosen" pane with drag and drop. To make a pane able to be reordered:
91
93
 
92
94
  - wrap the `DualListSelectorPane` in a `DragDrop` component
@@ -99,7 +101,7 @@ This example only allows reordering the contents of the "chosen" pane with drag
99
101
  - define an `onDrag` callback which ensures that the drag event will not cross hairs with the `onOptionSelect` click
100
102
  event set on the option. Note: the `ignoreNextOptionSelect` state value is used to prevent selection while dragging.
101
103
 
102
- Note: Keyboard accessibility and screen reader accessibility for the `DragDrop` component are still in development.
104
+ Keyboard and screen reader accessibility for the `<DragDrop>` component is still in development.
103
105
 
104
106
  ```ts file="DualListSelectorComposableDragDrop.tsx"
105
107
 
@@ -1,7 +1,9 @@
1
1
  export * from './DualListSelector';
2
+ export * from './DualListSelectorContext';
2
3
  export * from './DualListSelectorControl';
3
4
  export * from './DualListSelectorControlsWrapper';
4
5
  export * from './DualListSelectorPane';
5
6
  export * from './DualListSelectorList';
6
7
  export * from './DualListSelectorListItem';
7
8
  export * from './DualListSelectorTree';
9
+ export * from './DualListSelectorContext';
@@ -37,6 +37,8 @@ export interface FileUploadFieldProps extends Omit<React.HTMLProps<HTMLDivElemen
37
37
  hideDefaultPreview?: boolean;
38
38
  /** Unique id for the text area. Also used to generate ids for accessible labels. */
39
39
  id: string;
40
+ /** Name property for the text input. */
41
+ name?: string;
40
42
  /** Flag to disable the clear button. */
41
43
  isClearButtonDisabled?: boolean;
42
44
  /** Flag to show if the field is disabled. */
@@ -84,6 +86,7 @@ export interface FileUploadFieldProps extends Omit<React.HTMLProps<HTMLDivElemen
84
86
 
85
87
  export const FileUploadField: React.FunctionComponent<FileUploadFieldProps> = ({
86
88
  id,
89
+ name,
87
90
  type,
88
91
  value = '',
89
92
  filename = '',
@@ -135,7 +138,7 @@ export const FileUploadField: React.FunctionComponent<FileUploadFieldProps> = ({
135
138
  readOnlyVariant="default" // Always read-only regardless of isReadOnly prop (which is just for the TextArea)
136
139
  isDisabled={isDisabled}
137
140
  id={`${id}-filename`}
138
- name={`${id}-filename`}
141
+ name={name || `${id}-filename`}
139
142
  aria-label={filenameAriaLabel}
140
143
  placeholder={filenamePlaceholder}
141
144
  aria-describedby={`${id}-browse-button`}
@@ -172,7 +175,6 @@ export const FileUploadField: React.FunctionComponent<FileUploadFieldProps> = ({
172
175
  resizeOrientation={TextAreResizeOrientation.vertical}
173
176
  validated={validated}
174
177
  id={id}
175
- name={id}
176
178
  aria-label={ariaLabel}
177
179
  value={value as string}
178
180
  onChange={onTextAreaChange}
@@ -76,7 +76,6 @@ exports[`simple fileupload 1`] = `
76
76
  aria-invalid="false"
77
77
  aria-label="File upload"
78
78
  id="simple-text-file"
79
- name="simple-text-file"
80
79
  placeholder=""
81
80
  />
82
81
  </span>
@@ -74,7 +74,6 @@ exports[`simple fileuploadfield 1`] = `
74
74
  aria-invalid="false"
75
75
  aria-label="File upload"
76
76
  id="custom-file-upload"
77
- name="custom-file-upload"
78
77
  placeholder=""
79
78
  />
80
79
  </span>
@@ -334,10 +334,10 @@ export const Popover: React.FunctionComponent<PopoverProps> = ({
334
334
  };
335
335
  const onDocumentClick = (event: MouseEvent, triggerElement: HTMLElement, popperElement: HTMLElement) => {
336
336
  if (hideOnOutsideClick && visible) {
337
- // check if we clicked within the popper, if so don't do anything
338
- const isChild = popperElement && popperElement.contains(event.target as Node);
339
- if (isChild) {
340
- // clicked within the popper
337
+ const isFromChild = popperElement && popperElement.contains(event.target as Node);
338
+ const isFromTrigger = triggerElement && triggerElement.contains(event.target as Node);
339
+ if (isFromChild || isFromTrigger) {
340
+ // if clicked within the popper or on the trigger, ignore this event
341
341
  return;
342
342
  }
343
343
  if (triggerManually) {
@@ -7,17 +7,17 @@ import { getOUIAProps, OUIAProps, getDefaultOUIAId } from '../../helpers';
7
7
  export interface RadioProps
8
8
  extends Omit<React.HTMLProps<HTMLInputElement>, 'disabled' | 'label' | 'onChange' | 'type'>,
9
9
  OUIAProps {
10
- /** Additional classes added to the radio wrapper. This will be a div element if
11
- * isLabelWrapped is true, otherwise this will be a label element.
10
+ /** Additional classes added to the radio wrapper. This wrapper will be div element by default. It will be a label element if
11
+ * isLabelWrapped is true, or it can be overridden by any element specified in the component prop.
12
12
  */
13
13
  className?: string;
14
- /** Additional classed added to the radio input */
14
+ /** Additional classes added to the radio input. */
15
15
  inputClassName?: string;
16
16
  /** Id of the radio. */
17
17
  id: string;
18
- /** Flag to show if the radio label is wrapped on small screen. */
18
+ /** Flag to indicate whether the radio wrapper element is a native label element for the radio input. Will not apply if a component prop (with a value other than a "label") is specified. */
19
19
  isLabelWrapped?: boolean;
20
- /** Flag to show if the radio label is shown before the radio button. */
20
+ /** Flag to show if the radio label is shown before the radio input. */
21
21
  isLabelBeforeButton?: boolean;
22
22
  /** Flag to show if the radio is checked. */
23
23
  checked?: boolean;
@@ -39,6 +39,8 @@ export interface RadioProps
39
39
  description?: React.ReactNode;
40
40
  /** Body of the radio. */
41
41
  body?: React.ReactNode;
42
+ /** Sets the radio wrapper component to render. Defaults to "div". If set to "label", behaves the same as if isLabelWrapped prop was specified. */
43
+ component?: React.ElementType;
42
44
  /** Value to overwrite the randomly generated data-ouia-component-id.*/
43
45
  ouiaId?: number | string;
44
46
  /** Set the value of data-ouia-safe. Only set to true when the component is in a static state, i.e. no animations are occurring. At all other times, this value must be false. */
@@ -88,6 +90,7 @@ class Radio extends React.Component<RadioProps, { ouiaStateId: string }> {
88
90
  body,
89
91
  ouiaId,
90
92
  ouiaSafe = true,
93
+ component,
91
94
  ...props
92
95
  } = this.props;
93
96
  if (!props.id) {
@@ -110,41 +113,39 @@ class Radio extends React.Component<RadioProps, { ouiaStateId: string }> {
110
113
  />
111
114
  );
112
115
 
113
- let labelRendered: React.ReactNode = null;
114
- if (label && isLabelWrapped) {
115
- labelRendered = <span className={css(styles.radioLabel, isDisabled && styles.modifiers.disabled)}>{label}</span>;
116
- } else if (label) {
117
- labelRendered = (
118
- <label className={css(styles.radioLabel, isDisabled && styles.modifiers.disabled)} htmlFor={props.id}>
119
- {label}
120
- </label>
121
- );
122
- }
116
+ const wrapWithLabel = (isLabelWrapped && !component) || component === 'label';
123
117
 
124
- const descRender = description ? <span className={css(styles.radioDescription)}>{description}</span> : null;
125
- const bodyRender = body ? <span className={css(styles.radioBody)}>{body}</span> : null;
126
- const childrenRendered = isLabelBeforeButton ? (
127
- <>
128
- {labelRendered}
129
- {inputRendered}
130
- {descRender}
131
- {bodyRender}
132
- </>
133
- ) : (
134
- <>
135
- {inputRendered}
136
- {labelRendered}
137
- {descRender}
138
- {bodyRender}
139
- </>
140
- );
118
+ const Label = wrapWithLabel ? 'span' : 'label';
119
+ const labelRendered = label ? (
120
+ <Label
121
+ className={css(styles.radioLabel, isDisabled && styles.modifiers.disabled)}
122
+ htmlFor={!wrapWithLabel && props.id}
123
+ >
124
+ {label}
125
+ </Label>
126
+ ) : null;
127
+
128
+ const Component = component ?? (wrapWithLabel ? 'label' : 'div');
141
129
 
142
- return isLabelWrapped ? (
143
- <label className={css(styles.radio, className)} htmlFor={props.id}>
144
- {childrenRendered}
145
- </label>
146
- ) : (
147
- <div className={css(styles.radio, !label && styles.modifiers.standalone, className)}>{childrenRendered}</div>
130
+ return (
131
+ <Component
132
+ className={css(styles.radio, !label && styles.modifiers.standalone, className)}
133
+ htmlFor={wrapWithLabel && props.id}
134
+ >
135
+ {isLabelBeforeButton ? (
136
+ <>
137
+ {labelRendered}
138
+ {inputRendered}
139
+ </>
140
+ ) : (
141
+ <>
142
+ {inputRendered}
143
+ {labelRendered}
144
+ </>
145
+ )}
146
+ {description && <span className={css(styles.radioDescription)}>{description}</span>}
147
+ {body && <span className={css(styles.radioBody)}>{body}</span>}
148
+ </Component>
148
149
  );
149
150
  }
150
151
  }
@@ -100,4 +100,45 @@ describe('Radio', () => {
100
100
 
101
101
  expect(myMock).toHaveBeenCalled();
102
102
  });
103
+
104
+ test('Renders with the label wrapper if isLabelWrapped is provided', () => {
105
+ render(<Radio id="test-id" name="check" isLabelWrapped />);
106
+
107
+ expect(screen.getByRole('radio').parentElement?.tagName).toBe('LABEL');
108
+ });
109
+
110
+ test('Renders with span element around the inner label text if isLabelWrapped is provided', () => {
111
+ const labelText = 'test radio label';
112
+ render(<Radio id="test-id" name="check" isLabelWrapped label={labelText} />);
113
+
114
+ expect(screen.getByText(labelText).tagName).toBe('SPAN');
115
+ });
116
+
117
+ test('Renders with the provided component although isLabelWrapped is provided', () => {
118
+ render(<Radio id="test-id" name="check" isLabelWrapped component="h3" />);
119
+
120
+ expect(screen.getByRole('radio').parentElement?.tagName).toBe('H3');
121
+ });
122
+
123
+ test('Renders with the label wrapper if component is set to label', () => {
124
+ render(<Radio id="test-id" name="check" component="label" />);
125
+
126
+ expect(screen.getByRole('radio').parentElement?.tagName).toBe('LABEL');
127
+ });
128
+
129
+ test('Renders with span element around the inner label text if component is set to label', () => {
130
+ const labelText = 'test radio label';
131
+ render(<Radio id="test-id" name="check" component="label" label={labelText} />);
132
+
133
+ expect(screen.getByText(labelText).tagName).toBe('SPAN');
134
+ });
135
+
136
+ test('Renders label before radio input if isLabelBeforeButton is provided', () => {
137
+ render(<Radio id="test-id" name="check" isLabelBeforeButton label={'test radio label'} />);
138
+
139
+ const wrapper = screen.getByRole('radio').parentElement!;
140
+
141
+ expect(wrapper.children[0].tagName).toBe('LABEL');
142
+ expect(wrapper.children[1].tagName).toBe('INPUT');
143
+ });
103
144
  });
@@ -72,13 +72,7 @@ class ToolbarChipGroupContent extends React.Component<ToolbarChipGroupContentPro
72
72
 
73
73
  return (
74
74
  <div
75
- className={css(
76
- styles.toolbarContent,
77
- // TODO: Update with issue issue #9677
78
- // !isHidden && !collapseListedFilters && styles.modifiers.chipContainer,
79
- isHidden && styles.modifiers.hidden,
80
- className
81
- )}
75
+ className={css(styles.toolbarContent, isHidden && styles.modifiers.hidden, className)}
82
76
  {...((numberOfFilters === 0 || isExpanded) && { hidden: true })}
83
77
  ref={chipGroupContentRef}
84
78
  {...props}
@@ -61,7 +61,6 @@ class ToolbarExpandableContent extends React.Component<ToolbarExpandableContentP
61
61
  >
62
62
  <ToolbarGroup>{children}</ToolbarGroup>
63
63
  {numberOfFilters > 0 && (
64
- // TODO: Update with issue issue #9677. Removed 'chipContainer' modifier
65
64
  <ToolbarGroup>
66
65
  <ToolbarGroup ref={chipContainerRef} />
67
66
  {showClearFiltersButton && !customChipGroupContent && (
@@ -6,15 +6,14 @@ import { PageContext } from '../Page/PageContext';
6
6
 
7
7
  export enum ToolbarGroupVariant {
8
8
  'filter-group' = 'filter-group',
9
- 'icon-button-group' = 'icon-button-group',
10
- 'button-group' = 'button-group'
9
+ 'icon-button-group' = 'icon-button-group'
11
10
  }
12
11
 
13
12
  export interface ToolbarGroupProps extends Omit<React.HTMLProps<HTMLDivElement>, 'ref'> {
14
13
  /** Classes applied to root element of the data toolbar group */
15
14
  className?: string;
16
15
  /** A type modifier which modifies spacing specifically depending on the type of group */
17
- variant?: ToolbarGroupVariant | 'filter-group' | 'icon-button-group' | 'button-group';
16
+ variant?: ToolbarGroupVariant | 'filter-group' | 'icon-button-group';
18
17
  /** Visibility at various breakpoints. */
19
18
  visibility?: {
20
19
  default?: 'hidden' | 'visible';
@@ -82,7 +81,6 @@ class ToolbarGroupWithRef extends React.Component<ToolbarGroupProps> {
82
81
  <div
83
82
  className={css(
84
83
  styles.toolbarGroup,
85
- // TODO: Update with issue #9677. Removed "buttonGroup" modifier
86
84
  variant && styles.modifiers[toCamel(variant) as 'filterGroup' | 'iconButtonGroup'],
87
85
  formatBreakpointMods(visibility, styles, '', getBreakpoint(width)),
88
86
  formatBreakpointMods(align, styles, '', getBreakpoint(width)),
@@ -1,19 +1,13 @@
1
1
  import * as React from 'react';
2
2
  import styles from '@patternfly/react-styles/css/components/Toolbar/toolbar';
3
3
  import { css } from '@patternfly/react-styles';
4
- // TODO: Update with issue #9677
5
- // import cssWidth from '@patternfly/react-tokens/dist/esm/c_toolbar__item_Width';
6
-
7
4
  import { formatBreakpointMods, toCamel } from '../../helpers/util';
8
5
  import { Divider } from '../Divider';
9
6
  import { PageContext } from '../Page/PageContext';
10
7
 
11
8
  export enum ToolbarItemVariant {
12
9
  separator = 'separator',
13
- 'bulk-select' = 'bulk-select',
14
- 'overflow-menu' = 'overflow-menu',
15
10
  pagination = 'pagination',
16
- 'search-filter' = 'search-filter',
17
11
  label = 'label',
18
12
  'chip-group' = 'chip-group',
19
13
  'expand-all' = 'expand-all'
@@ -23,16 +17,7 @@ export interface ToolbarItemProps extends React.HTMLProps<HTMLDivElement> {
23
17
  /** Classes applied to root element of the data toolbar item */
24
18
  className?: string;
25
19
  /** A type modifier which modifies spacing specifically depending on the type of item */
26
- variant?:
27
- | ToolbarItemVariant
28
- | 'bulk-select'
29
- | 'overflow-menu'
30
- | 'pagination'
31
- | 'search-filter'
32
- | 'label'
33
- | 'chip-group'
34
- | 'separator'
35
- | 'expand-all';
20
+ variant?: ToolbarItemVariant | 'pagination' | 'label' | 'chip-group' | 'separator' | 'expand-all';
36
21
  /** Visibility at various breakpoints. */
37
22
  visibility?: {
38
23
  default?: 'hidden' | 'visible';
@@ -61,15 +46,6 @@ export interface ToolbarItemProps extends React.HTMLProps<HTMLDivElement> {
61
46
  xl?: 'spacerNone' | 'spacerSm' | 'spacerMd' | 'spacerLg';
62
47
  '2xl'?: 'spacerNone' | 'spacerSm' | 'spacerMd' | 'spacerLg';
63
48
  };
64
- /** Widths at various breakpoints. */
65
- widths?: {
66
- default?: string;
67
- sm?: string;
68
- md?: string;
69
- lg?: string;
70
- xl?: string;
71
- '2xl'?: string;
72
- };
73
49
  /** id for this data toolbar item */
74
50
  id?: string;
75
51
  /** Flag indicating if the expand-all variant is expanded or not */
@@ -85,8 +61,6 @@ export const ToolbarItem: React.FunctionComponent<ToolbarItemProps> = ({
85
61
  variant,
86
62
  visibility,
87
63
  spacer,
88
- // TODO: Update with issue #9677
89
- // widths,
90
64
  align,
91
65
  alignSelf,
92
66
  alignItems,
@@ -100,24 +74,13 @@ export const ToolbarItem: React.FunctionComponent<ToolbarItemProps> = ({
100
74
  return <Divider className={css(className)} orientation={{ default: 'vertical' }} {...props} />;
101
75
  }
102
76
 
103
- // TODO: Update with issue #9677
104
- // const widthStyles: any = {};
105
- // if (widths) {
106
- // Object.entries(widths || {}).map(
107
- // ([breakpoint, value]) =>
108
- // (widthStyles[`${cssWidth.name}${breakpoint !== 'default' ? `-on-${breakpoint}` : ''}`] = value)
109
- // );
110
- // }
111
-
112
77
  return (
113
78
  <PageContext.Consumer>
114
79
  {({ width, getBreakpoint }) => (
115
80
  <div
116
81
  className={css(
117
82
  styles.toolbarItem,
118
- variant &&
119
- // TODO: Update with issue #9677. Removed "bulkSleect", "overflowMenu" and "searchFilter" modifiers
120
- styles.modifiers[toCamel(variant) as 'pagination' | 'label' | 'chipGroup'],
83
+ variant && styles.modifiers[toCamel(variant) as 'pagination' | 'label' | 'chipGroup'],
121
84
  isAllExpanded && styles.modifiers.expanded,
122
85
  isOverflowContainer && styles.modifiers.overflowContainer,
123
86
  formatBreakpointMods(visibility, styles, '', getBreakpoint(width)),
@@ -134,8 +97,6 @@ export const ToolbarItem: React.FunctionComponent<ToolbarItemProps> = ({
134
97
  {...(variant === 'label' && { 'aria-hidden': true })}
135
98
  id={id}
136
99
  {...props}
137
- // TODO: Update with issue #9677
138
- // {...(widths && { style: { ...widthStyles, ...props.style } as React.CSSProperties })}
139
100
  >
140
101
  {children}
141
102
  </div>
@@ -162,7 +162,6 @@ class ToolbarToggleGroup extends React.Component<ToolbarToggleGroupProps> {
162
162
  className={css(
163
163
  styles.toolbarGroup,
164
164
  styles.modifiers.toggleGroup,
165
- // TODO: Update with issue #9677. Removed "buttonGroup" modifier
166
165
  variant && styles.modifiers[toCamel(variant) as 'filterGroup' | 'iconButtonGroup'],
167
166
  formatBreakpointMods(breakpointMod, styles, '', getBreakpoint(width)),
168
167
  formatBreakpointMods(visibility, styles, '', getBreakpoint(width)),
@@ -3,20 +3,6 @@ import { render, screen } from '@testing-library/react';
3
3
  import { ToolbarItem } from '../ToolbarItem';
4
4
 
5
5
  describe('ToolbarItem', () => {
6
- it('should map width breakpoints', () => {
7
- const widths = {
8
- default: '100px',
9
- sm: '80px',
10
- md: '150px',
11
- lg: '200px',
12
- xl: '250px',
13
- '2xl': '300px'
14
- };
15
-
16
- const { asFragment } = render(<ToolbarItem widths={widths}>Test</ToolbarItem>);
17
- expect(asFragment()).toMatchSnapshot();
18
- });
19
-
20
6
  it('should render with pf-m-overflow-container when isOverflowContainer is set', () => {
21
7
  render(
22
8
  <ToolbarItem data-testid="toolbaritem" isOverflowContainer>
@@ -34,16 +34,6 @@ Items are spaced “16px” apart by default. To adjust the size of the space be
34
34
 
35
35
  ```
36
36
 
37
- ### Toolbar items with adjusted widths
38
-
39
- You can adjust the width of toolbar items so that they better fit the size of their container.
40
-
41
- The default width of a toolbar item is “100px”. To adjust an item’s width, use the `widths` property of the `<ToolbarItem>`. You can set the “px” value at multiple breakpoints, including "default", "sm", "md", "lg, "xl", and "2xl".
42
-
43
- ```ts file="./ToolbarWidths.tsx"
44
-
45
- ```
46
-
47
37
  ### With adjusted inset
48
38
 
49
39
  To adjust a toolbar’s inset, use the `inset` property. You can set the inset value at multiple breakpoints, including "default", "md", "lg, "xl", and "2xl". Inset values include “insetNone”, “insetSm”, “insetMd”, “insetLg”, “insetXl”, and “inset2xl”.
@@ -48,7 +48,7 @@ export const ToolbarComponentManagedToggleGroup: React.FunctionComponent = () =>
48
48
 
49
49
  const toggleGroupItems = (
50
50
  <React.Fragment>
51
- <ToolbarItem variant="search-filter">
51
+ <ToolbarItem>
52
52
  <SearchInput
53
53
  aria-label="Component toggle groups example search input"
54
54
  onChange={(_event, value) => onInputChange(value)}
@@ -53,7 +53,7 @@ export const ToolbarConsumerManagedToggleGroup: React.FunctionComponent = () =>
53
53
 
54
54
  const toggleGroupItems = (
55
55
  <React.Fragment>
56
- <ToolbarItem variant="search-filter">
56
+ <ToolbarItem>
57
57
  <SearchInput
58
58
  aria-label="Consumer toggle groups example search input"
59
59
  onChange={(_event, value) => onInputChange(value)}
@@ -189,7 +189,7 @@ export const ToolbarGroups: React.FunctionComponent = () => {
189
189
  <React.Fragment>
190
190
  <ToolbarGroup variant="filter-group">{filterGroupItems}</ToolbarGroup>
191
191
  <ToolbarGroup variant="icon-button-group">{iconButtonGroupItems}</ToolbarGroup>
192
- <ToolbarGroup variant="button-group">{buttonGroupItems}</ToolbarGroup>
192
+ <ToolbarGroup>{buttonGroupItems}</ToolbarGroup>
193
193
  </React.Fragment>
194
194
  );
195
195
 
@@ -5,7 +5,7 @@ import { Button, SearchInput } from '@patternfly/react-core';
5
5
  export const ToolbarItems: React.FunctionComponent = () => {
6
6
  const items = (
7
7
  <React.Fragment>
8
- <ToolbarItem variant="search-filter">
8
+ <ToolbarItem>
9
9
  <SearchInput aria-label="Items example search input" />
10
10
  </ToolbarItem>
11
11
  <ToolbarItem>
@@ -206,7 +206,7 @@ export const ToolbarStacked: React.FunctionComponent = () => {
206
206
  <ToolbarToggleGroup toggleIcon={<FilterIcon />} breakpoint="lg">
207
207
  {toggleGroupItems}
208
208
  </ToolbarToggleGroup>
209
- <ToolbarItem variant="overflow-menu">
209
+ <ToolbarItem>
210
210
  <OverflowMenu breakpoint="2xl">
211
211
  <OverflowMenuContent>
212
212
  <OverflowMenuGroup groupType="button">
@@ -249,7 +249,7 @@ export const ToolbarStacked: React.FunctionComponent = () => {
249
249
  <React.Fragment>
250
250
  <Toolbar>
251
251
  <ToolbarContent>
252
- <ToolbarItem variant="bulk-select">
252
+ <ToolbarItem>
253
253
  <Dropdown
254
254
  onSelect={onSplitButtonSelect}
255
255
  isOpen={isSplitButtonDropdownOpen}
@@ -125,7 +125,7 @@ export const ToolbarWithFilters: React.FunctionComponent = () => {
125
125
 
126
126
  const toggleGroupItems = (
127
127
  <React.Fragment>
128
- <ToolbarItem variant="search-filter">
128
+ <ToolbarItem>
129
129
  <SearchInput
130
130
  aria-label="With filters example search input"
131
131
  onChange={(_event, value) => onInputChange(value)}
@@ -109,7 +109,7 @@ export const TreeViewWithSearch: React.FunctionComponent = () => {
109
109
  const toolbar = (
110
110
  <Toolbar style={{ padding: 0 }}>
111
111
  <ToolbarContent style={{ padding: 0 }}>
112
- <ToolbarItem widths={{ default: '100%' }}>
112
+ <ToolbarItem>
113
113
  <TreeViewSearch onSearch={onSearch} id="input-search" name="search-input" aria-label="Search input example" />
114
114
  </ToolbarItem>
115
115
  </ToolbarContent>
@@ -22,6 +22,7 @@ export * from './DataList';
22
22
  export * from './DatePicker';
23
23
  export * from './DescriptionList';
24
24
  export * from './Divider';
25
+ export * from './DragDrop';
25
26
  export * from './Drawer';
26
27
  export * from './Dropdown';
27
28
  export * from './DualListSelector';
@@ -76,7 +77,6 @@ export * from './Tooltip';
76
77
  export * from './NumberInput';
77
78
  export * from './TreeView';
78
79
  export * from './Wizard';
79
- export * from './DragDrop';
80
80
  export * from './TextInputGroup';
81
81
  export * from './Panel';
82
82
  export * from './Truncate';
@@ -413,9 +413,9 @@ export const CardViewBasic: React.FunctionComponent = () => {
413
413
 
414
414
  const toolbarItems = (
415
415
  <React.Fragment>
416
- <ToolbarItem variant="bulk-select">{buildSelectDropdown()}</ToolbarItem>
416
+ <ToolbarItem>{buildSelectDropdown()}</ToolbarItem>
417
417
  <ToolbarItem>{buildFilterDropdown()}</ToolbarItem>
418
- <ToolbarItem variant="overflow-menu">
418
+ <ToolbarItem>
419
419
  <OverflowMenu breakpoint="md">
420
420
  <OverflowMenuItem>
421
421
  <Button variant="primary">Create a project</Button>
@@ -38,7 +38,7 @@ export const DataListBasic: React.FunctionComponent = () => {
38
38
 
39
39
  const toolbarItems = (
40
40
  <React.Fragment>
41
- <ToolbarItem variant="bulk-select">
41
+ <ToolbarItem>
42
42
  <MenuToggle
43
43
  aria-label="Select cards"
44
44
  splitButtonOptions={{
@@ -55,7 +55,7 @@ export const DataListBasic: React.FunctionComponent = () => {
55
55
  <ToolbarItem>
56
56
  <MenuToggle>Filter by creator name</MenuToggle>
57
57
  </ToolbarItem>
58
- <ToolbarItem variant="overflow-menu">
58
+ <ToolbarItem>
59
59
  <OverflowMenu breakpoint="md">
60
60
  <OverflowMenuItem>
61
61
  <Button variant="primary">Create instance</Button>