@patternfly/react-core 5.0.0-alpha.106 → 5.0.0-alpha.108

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 (328) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/esm/components/AboutModal/package.json +1 -1
  3. package/dist/esm/components/Accordion/package.json +1 -1
  4. package/dist/esm/components/ActionList/package.json +1 -1
  5. package/dist/esm/components/Alert/package.json +1 -1
  6. package/dist/esm/components/Avatar/package.json +1 -1
  7. package/dist/esm/components/BackToTop/package.json +1 -1
  8. package/dist/esm/components/Backdrop/package.json +1 -1
  9. package/dist/esm/components/BackgroundImage/package.json +1 -1
  10. package/dist/esm/components/Badge/package.json +1 -1
  11. package/dist/esm/components/Banner/package.json +1 -1
  12. package/dist/esm/components/Brand/package.json +1 -1
  13. package/dist/esm/components/Breadcrumb/package.json +1 -1
  14. package/dist/esm/components/Button/package.json +1 -1
  15. package/dist/esm/components/CalendarMonth/package.json +1 -1
  16. package/dist/esm/components/Card/package.json +1 -1
  17. package/dist/esm/components/Checkbox/package.json +1 -1
  18. package/dist/esm/components/Chip/package.json +1 -1
  19. package/dist/esm/components/ClipboardCopy/package.json +1 -1
  20. package/dist/esm/components/CodeBlock/package.json +1 -1
  21. package/dist/esm/components/DataList/package.json +1 -1
  22. package/dist/esm/components/DatePicker/package.json +1 -1
  23. package/dist/esm/components/DescriptionList/package.json +1 -1
  24. package/dist/esm/components/Divider/package.json +1 -1
  25. package/dist/esm/components/DragDrop/package.json +1 -1
  26. package/dist/esm/components/Drawer/package.json +1 -1
  27. package/dist/esm/components/Dropdown/Dropdown.d.ts +11 -3
  28. package/dist/esm/components/Dropdown/Dropdown.d.ts.map +1 -1
  29. package/dist/esm/components/Dropdown/Dropdown.js +11 -5
  30. package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
  31. package/dist/esm/components/Dropdown/package.json +1 -1
  32. package/dist/esm/components/DualListSelector/package.json +1 -1
  33. package/dist/esm/components/EmptyState/package.json +1 -1
  34. package/dist/esm/components/ExpandableSection/package.json +1 -1
  35. package/dist/esm/components/FileUpload/package.json +1 -1
  36. package/dist/esm/components/Form/package.json +1 -1
  37. package/dist/esm/components/FormSelect/package.json +1 -1
  38. package/dist/esm/components/HelperText/package.json +1 -1
  39. package/dist/esm/components/Hint/package.json +1 -1
  40. package/dist/esm/components/Icon/package.json +1 -1
  41. package/dist/esm/components/InputGroup/package.json +1 -1
  42. package/dist/esm/components/JumpLinks/package.json +1 -1
  43. package/dist/esm/components/Label/package.json +1 -1
  44. package/dist/esm/components/List/package.json +1 -1
  45. package/dist/esm/components/LoginPage/package.json +1 -1
  46. package/dist/esm/components/Masthead/package.json +1 -1
  47. package/dist/esm/components/Menu/MenuItem.d.ts +1 -1
  48. package/dist/esm/components/Menu/MenuItem.d.ts.map +1 -1
  49. package/dist/esm/components/Menu/package.json +1 -1
  50. package/dist/esm/components/MenuToggle/package.json +1 -1
  51. package/dist/esm/components/Modal/package.json +1 -1
  52. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatusItem.d.ts +1 -1
  53. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatusItem.d.ts.map +1 -1
  54. package/dist/esm/components/MultipleFileUpload/package.json +1 -1
  55. package/dist/esm/components/Nav/package.json +1 -1
  56. package/dist/esm/components/NotificationBadge/package.json +1 -1
  57. package/dist/esm/components/NotificationDrawer/package.json +1 -1
  58. package/dist/esm/components/NumberInput/package.json +1 -1
  59. package/dist/esm/components/OverflowMenu/package.json +1 -1
  60. package/dist/esm/components/Page/package.json +1 -1
  61. package/dist/esm/components/Pagination/package.json +1 -1
  62. package/dist/esm/components/Panel/package.json +1 -1
  63. package/dist/esm/components/Popover/package.json +1 -1
  64. package/dist/esm/components/Progress/Progress.d.ts +1 -1
  65. package/dist/esm/components/Progress/ProgressContainer.d.ts +1 -1
  66. package/dist/esm/components/Progress/package.json +1 -1
  67. package/dist/esm/components/ProgressStepper/package.json +1 -1
  68. package/dist/esm/components/Radio/package.json +1 -1
  69. package/dist/esm/components/SearchInput/package.json +1 -1
  70. package/dist/esm/components/Select/Select.d.ts +31 -5
  71. package/dist/esm/components/Select/Select.d.ts.map +1 -1
  72. package/dist/esm/components/Select/Select.js +16 -10
  73. package/dist/esm/components/Select/Select.js.map +1 -1
  74. package/dist/esm/components/Select/SelectGroup.d.ts +3 -0
  75. package/dist/esm/components/Select/SelectGroup.d.ts.map +1 -1
  76. package/dist/esm/components/Select/SelectGroup.js.map +1 -1
  77. package/dist/esm/components/Select/SelectOption.d.ts +14 -1
  78. package/dist/esm/components/Select/SelectOption.d.ts.map +1 -1
  79. package/dist/esm/components/Select/SelectOption.js +4 -3
  80. package/dist/esm/components/Select/SelectOption.js.map +1 -1
  81. package/dist/esm/components/Select/package.json +1 -1
  82. package/dist/esm/components/Sidebar/package.json +1 -1
  83. package/dist/esm/components/SimpleList/package.json +1 -1
  84. package/dist/esm/components/Skeleton/package.json +1 -1
  85. package/dist/esm/components/SkipToContent/package.json +1 -1
  86. package/dist/esm/components/Slider/package.json +1 -1
  87. package/dist/esm/components/Spinner/package.json +1 -1
  88. package/dist/esm/components/Switch/package.json +1 -1
  89. package/dist/esm/components/Tabs/Tab.d.ts +3 -3
  90. package/dist/esm/components/Tabs/Tab.d.ts.map +1 -1
  91. package/dist/esm/components/Tabs/Tabs.d.ts +1 -1
  92. package/dist/esm/components/Tabs/Tabs.d.ts.map +1 -1
  93. package/dist/esm/components/Tabs/package.json +1 -1
  94. package/dist/esm/components/Text/package.json +1 -1
  95. package/dist/esm/components/TextArea/package.json +1 -1
  96. package/dist/esm/components/TextInput/package.json +1 -1
  97. package/dist/esm/components/TextInputGroup/package.json +1 -1
  98. package/dist/esm/components/Tile/package.json +1 -1
  99. package/dist/esm/components/TimePicker/package.json +1 -1
  100. package/dist/esm/components/Timestamp/package.json +1 -1
  101. package/dist/esm/components/Title/package.json +1 -1
  102. package/dist/esm/components/ToggleGroup/package.json +1 -1
  103. package/dist/esm/components/Toolbar/package.json +1 -1
  104. package/dist/esm/components/Tooltip/package.json +1 -1
  105. package/dist/esm/components/TreeView/package.json +1 -1
  106. package/dist/esm/components/Truncate/package.json +1 -1
  107. package/dist/esm/components/Wizard/hooks/package.json +1 -1
  108. package/dist/esm/components/Wizard/package.json +1 -1
  109. package/dist/esm/components/package.json +1 -1
  110. package/dist/esm/deprecated/components/ApplicationLauncher/package.json +1 -1
  111. package/dist/esm/deprecated/components/ContextSelector/package.json +1 -1
  112. package/dist/esm/deprecated/components/Dropdown/DropdownToggleCheckbox.d.ts +3 -3
  113. package/dist/esm/deprecated/components/Dropdown/DropdownToggleCheckbox.d.ts.map +1 -1
  114. package/dist/esm/deprecated/components/Dropdown/package.json +1 -1
  115. package/dist/esm/deprecated/components/OptionsMenu/package.json +1 -1
  116. package/dist/esm/deprecated/components/PageHeader/package.json +1 -1
  117. package/dist/esm/deprecated/components/Select/package.json +1 -1
  118. package/dist/esm/deprecated/components/Wizard/package.json +1 -1
  119. package/dist/esm/deprecated/components/package.json +1 -1
  120. package/dist/esm/deprecated/package.json +1 -1
  121. package/dist/esm/helpers/Popper/Popper.d.ts +1 -1
  122. package/dist/esm/helpers/Popper/Popper.d.ts.map +1 -1
  123. package/dist/esm/helpers/Popper/thirdparty/popper-core/package.json +1 -1
  124. package/dist/esm/helpers/package.json +1 -1
  125. package/dist/esm/layouts/Bullseye/package.json +1 -1
  126. package/dist/esm/layouts/Flex/Flex.d.ts +27 -0
  127. package/dist/esm/layouts/Flex/Flex.d.ts.map +1 -1
  128. package/dist/esm/layouts/Flex/Flex.js +2 -2
  129. package/dist/esm/layouts/Flex/Flex.js.map +1 -1
  130. package/dist/esm/layouts/Flex/package.json +1 -1
  131. package/dist/esm/layouts/Gallery/package.json +1 -1
  132. package/dist/esm/layouts/Grid/package.json +1 -1
  133. package/dist/esm/layouts/Level/package.json +1 -1
  134. package/dist/esm/layouts/Split/package.json +1 -1
  135. package/dist/esm/layouts/Stack/package.json +1 -1
  136. package/dist/esm/layouts/package.json +1 -1
  137. package/dist/esm/next/components/package.json +1 -1
  138. package/dist/esm/next/package.json +1 -1
  139. package/dist/esm/package.json +1 -1
  140. package/dist/js/components/AboutModal/package.json +1 -1
  141. package/dist/js/components/Accordion/package.json +1 -1
  142. package/dist/js/components/ActionList/package.json +1 -1
  143. package/dist/js/components/Alert/package.json +1 -1
  144. package/dist/js/components/Avatar/package.json +1 -1
  145. package/dist/js/components/BackToTop/package.json +1 -1
  146. package/dist/js/components/Backdrop/package.json +1 -1
  147. package/dist/js/components/BackgroundImage/package.json +1 -1
  148. package/dist/js/components/Badge/package.json +1 -1
  149. package/dist/js/components/Banner/package.json +1 -1
  150. package/dist/js/components/Brand/package.json +1 -1
  151. package/dist/js/components/Breadcrumb/package.json +1 -1
  152. package/dist/js/components/Button/package.json +1 -1
  153. package/dist/js/components/CalendarMonth/package.json +1 -1
  154. package/dist/js/components/Card/package.json +1 -1
  155. package/dist/js/components/Checkbox/package.json +1 -1
  156. package/dist/js/components/Chip/package.json +1 -1
  157. package/dist/js/components/ClipboardCopy/package.json +1 -1
  158. package/dist/js/components/CodeBlock/package.json +1 -1
  159. package/dist/js/components/DataList/package.json +1 -1
  160. package/dist/js/components/DatePicker/package.json +1 -1
  161. package/dist/js/components/DescriptionList/package.json +1 -1
  162. package/dist/js/components/Divider/package.json +1 -1
  163. package/dist/js/components/DragDrop/package.json +1 -1
  164. package/dist/js/components/Drawer/package.json +1 -1
  165. package/dist/js/components/Dropdown/Dropdown.d.ts +11 -3
  166. package/dist/js/components/Dropdown/Dropdown.d.ts.map +1 -1
  167. package/dist/js/components/Dropdown/Dropdown.js +11 -5
  168. package/dist/js/components/Dropdown/Dropdown.js.map +1 -1
  169. package/dist/js/components/Dropdown/package.json +1 -1
  170. package/dist/js/components/DualListSelector/package.json +1 -1
  171. package/dist/js/components/EmptyState/package.json +1 -1
  172. package/dist/js/components/ExpandableSection/package.json +1 -1
  173. package/dist/js/components/FileUpload/package.json +1 -1
  174. package/dist/js/components/Form/package.json +1 -1
  175. package/dist/js/components/FormSelect/package.json +1 -1
  176. package/dist/js/components/HelperText/package.json +1 -1
  177. package/dist/js/components/Hint/package.json +1 -1
  178. package/dist/js/components/Icon/package.json +1 -1
  179. package/dist/js/components/InputGroup/package.json +1 -1
  180. package/dist/js/components/JumpLinks/package.json +1 -1
  181. package/dist/js/components/Label/package.json +1 -1
  182. package/dist/js/components/List/package.json +1 -1
  183. package/dist/js/components/LoginPage/package.json +1 -1
  184. package/dist/js/components/Masthead/package.json +1 -1
  185. package/dist/js/components/Menu/MenuItem.d.ts +1 -1
  186. package/dist/js/components/Menu/MenuItem.d.ts.map +1 -1
  187. package/dist/js/components/Menu/package.json +1 -1
  188. package/dist/js/components/MenuToggle/package.json +1 -1
  189. package/dist/js/components/Modal/package.json +1 -1
  190. package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatusItem.d.ts +1 -1
  191. package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatusItem.d.ts.map +1 -1
  192. package/dist/js/components/MultipleFileUpload/package.json +1 -1
  193. package/dist/js/components/Nav/package.json +1 -1
  194. package/dist/js/components/NotificationBadge/package.json +1 -1
  195. package/dist/js/components/NotificationDrawer/package.json +1 -1
  196. package/dist/js/components/NumberInput/package.json +1 -1
  197. package/dist/js/components/OverflowMenu/package.json +1 -1
  198. package/dist/js/components/Page/package.json +1 -1
  199. package/dist/js/components/Pagination/package.json +1 -1
  200. package/dist/js/components/Panel/package.json +1 -1
  201. package/dist/js/components/Popover/package.json +1 -1
  202. package/dist/js/components/Progress/Progress.d.ts +1 -1
  203. package/dist/js/components/Progress/ProgressContainer.d.ts +1 -1
  204. package/dist/js/components/Progress/package.json +1 -1
  205. package/dist/js/components/ProgressStepper/package.json +1 -1
  206. package/dist/js/components/Radio/package.json +1 -1
  207. package/dist/js/components/SearchInput/package.json +1 -1
  208. package/dist/js/components/Select/Select.d.ts +31 -5
  209. package/dist/js/components/Select/Select.d.ts.map +1 -1
  210. package/dist/js/components/Select/Select.js +16 -10
  211. package/dist/js/components/Select/Select.js.map +1 -1
  212. package/dist/js/components/Select/SelectGroup.d.ts +3 -0
  213. package/dist/js/components/Select/SelectGroup.d.ts.map +1 -1
  214. package/dist/js/components/Select/SelectGroup.js.map +1 -1
  215. package/dist/js/components/Select/SelectOption.d.ts +14 -1
  216. package/dist/js/components/Select/SelectOption.d.ts.map +1 -1
  217. package/dist/js/components/Select/SelectOption.js +4 -4
  218. package/dist/js/components/Select/SelectOption.js.map +1 -1
  219. package/dist/js/components/Select/package.json +1 -1
  220. package/dist/js/components/Sidebar/package.json +1 -1
  221. package/dist/js/components/SimpleList/package.json +1 -1
  222. package/dist/js/components/Skeleton/package.json +1 -1
  223. package/dist/js/components/SkipToContent/package.json +1 -1
  224. package/dist/js/components/Slider/package.json +1 -1
  225. package/dist/js/components/Spinner/package.json +1 -1
  226. package/dist/js/components/Switch/package.json +1 -1
  227. package/dist/js/components/Tabs/Tab.d.ts +3 -3
  228. package/dist/js/components/Tabs/Tab.d.ts.map +1 -1
  229. package/dist/js/components/Tabs/Tabs.d.ts +1 -1
  230. package/dist/js/components/Tabs/Tabs.d.ts.map +1 -1
  231. package/dist/js/components/Tabs/package.json +1 -1
  232. package/dist/js/components/Text/package.json +1 -1
  233. package/dist/js/components/TextArea/package.json +1 -1
  234. package/dist/js/components/TextInput/package.json +1 -1
  235. package/dist/js/components/TextInputGroup/package.json +1 -1
  236. package/dist/js/components/Tile/package.json +1 -1
  237. package/dist/js/components/TimePicker/package.json +1 -1
  238. package/dist/js/components/Timestamp/package.json +1 -1
  239. package/dist/js/components/Title/package.json +1 -1
  240. package/dist/js/components/ToggleGroup/package.json +1 -1
  241. package/dist/js/components/Toolbar/package.json +1 -1
  242. package/dist/js/components/Tooltip/package.json +1 -1
  243. package/dist/js/components/TreeView/package.json +1 -1
  244. package/dist/js/components/Truncate/package.json +1 -1
  245. package/dist/js/components/Wizard/hooks/package.json +1 -1
  246. package/dist/js/components/Wizard/package.json +1 -1
  247. package/dist/js/components/package.json +1 -1
  248. package/dist/js/deprecated/components/ApplicationLauncher/package.json +1 -1
  249. package/dist/js/deprecated/components/ContextSelector/package.json +1 -1
  250. package/dist/js/deprecated/components/Dropdown/DropdownToggleCheckbox.d.ts +3 -3
  251. package/dist/js/deprecated/components/Dropdown/DropdownToggleCheckbox.d.ts.map +1 -1
  252. package/dist/js/deprecated/components/Dropdown/package.json +1 -1
  253. package/dist/js/deprecated/components/OptionsMenu/package.json +1 -1
  254. package/dist/js/deprecated/components/PageHeader/package.json +1 -1
  255. package/dist/js/deprecated/components/Select/package.json +1 -1
  256. package/dist/js/deprecated/components/Wizard/package.json +1 -1
  257. package/dist/js/deprecated/components/package.json +1 -1
  258. package/dist/js/deprecated/package.json +1 -1
  259. package/dist/js/helpers/Popper/Popper.d.ts +1 -1
  260. package/dist/js/helpers/Popper/Popper.d.ts.map +1 -1
  261. package/dist/js/helpers/Popper/thirdparty/popper-core/package.json +1 -1
  262. package/dist/js/helpers/package.json +1 -1
  263. package/dist/js/layouts/Bullseye/package.json +1 -1
  264. package/dist/js/layouts/Flex/Flex.d.ts +27 -0
  265. package/dist/js/layouts/Flex/Flex.d.ts.map +1 -1
  266. package/dist/js/layouts/Flex/Flex.js +2 -2
  267. package/dist/js/layouts/Flex/Flex.js.map +1 -1
  268. package/dist/js/layouts/Flex/package.json +1 -1
  269. package/dist/js/layouts/Gallery/package.json +1 -1
  270. package/dist/js/layouts/Grid/package.json +1 -1
  271. package/dist/js/layouts/Level/package.json +1 -1
  272. package/dist/js/layouts/Split/package.json +1 -1
  273. package/dist/js/layouts/Stack/package.json +1 -1
  274. package/dist/js/layouts/package.json +1 -1
  275. package/dist/js/next/components/package.json +1 -1
  276. package/dist/js/next/package.json +1 -1
  277. package/dist/js/package.json +1 -1
  278. package/dist/umd/react-core.min.js +2 -2
  279. package/package.json +2 -2
  280. package/src/components/DatePicker/__tests__/__snapshots__/DatePicker.test.tsx.snap +27 -29
  281. package/src/components/DatePicker/examples/DatePicker.md +0 -1
  282. package/src/components/Dropdown/Dropdown.tsx +25 -11
  283. package/src/components/Dropdown/examples/Dropdown.md +10 -1
  284. package/src/components/Dropdown/examples/DropdownBasic.tsx +2 -6
  285. package/src/components/Dropdown/examples/DropdownWithDescriptions.tsx +2 -6
  286. package/src/components/Dropdown/examples/DropdownWithGroups.tsx +2 -6
  287. package/src/components/Dropdown/examples/DropdownWithKebabToggle.tsx +2 -6
  288. package/src/components/Icon/examples/Icon.md +0 -1
  289. package/src/components/Menu/MenuItem.tsx +1 -1
  290. package/src/components/Menu/examples/Menu.md +1 -1
  291. package/src/components/MultipleFileUpload/MultipleFileUploadStatusItem.tsx +1 -1
  292. package/src/components/Progress/Progress.tsx +1 -1
  293. package/src/components/Progress/ProgressContainer.tsx +1 -1
  294. package/src/components/Progress/examples/Progress.md +1 -1
  295. package/src/components/ProgressStepper/examples/ProgressStepper.md +0 -1
  296. package/src/components/SearchInput/examples/SearchInput.md +0 -1
  297. package/src/components/Select/Select.tsx +62 -24
  298. package/src/components/Select/SelectGroup.tsx +3 -0
  299. package/src/components/Select/SelectOption.tsx +22 -2
  300. package/src/components/Select/examples/Select.md +49 -2
  301. package/src/components/Select/examples/SelectBasic.tsx +27 -17
  302. package/src/components/Select/examples/SelectCheckbox.tsx +1 -3
  303. package/src/components/Select/examples/SelectFooter.tsx +57 -0
  304. package/src/components/Select/examples/SelectGrouped.tsx +14 -6
  305. package/src/components/Select/examples/SelectMultiTypeahead.tsx +7 -12
  306. package/src/components/Select/examples/SelectMultiTypeaheadCheckbox.tsx +204 -0
  307. package/src/components/Select/examples/SelectMultiTypeaheadCreatable.tsx +222 -0
  308. package/src/components/Select/examples/SelectOptionVariations.tsx +70 -0
  309. package/src/components/Select/examples/SelectTypeahead.tsx +13 -13
  310. package/src/components/Select/examples/SelectTypeaheadCreatable.tsx +220 -0
  311. package/src/components/Select/examples/SelectViewMore.tsx +146 -0
  312. package/src/components/Tabs/Tab.tsx +3 -3
  313. package/src/components/Tabs/Tabs.tsx +1 -1
  314. package/src/components/Tabs/examples/Tabs.md +3 -3
  315. package/src/components/TextInputGroup/examples/TextInputGroup.md +0 -1
  316. package/src/components/Tile/examples/Tile.md +0 -1
  317. package/src/components/Truncate/examples/Truncate.md +1 -2
  318. package/src/demos/ComposableMenu/ComposableMenu.md +17 -3
  319. package/src/demos/DatePicker/DatePicker.md +0 -1
  320. package/src/demos/ProgressStepperDemo.md +0 -1
  321. package/src/demos/SearchInput/SearchInput.md +0 -1
  322. package/src/demos/TextInputGroupDemo.md +0 -1
  323. package/src/deprecated/components/Dropdown/DropdownToggleCheckbox.tsx +3 -3
  324. package/src/deprecated/components/Dropdown/examples/Dropdown.md +1 -1
  325. package/src/helpers/Popper/Popper.tsx +1 -1
  326. package/src/layouts/Flex/Flex.tsx +141 -0
  327. package/src/layouts/Flex/__tests__/Flex.test.tsx +30 -10
  328. package/src/layouts/Flex/examples/Flex.md +192 -65
@@ -0,0 +1,146 @@
1
+ import React from 'react';
2
+ import { Select, SelectOption, SelectList, MenuToggle, Spinner } from '@patternfly/react-core';
3
+
4
+ export const SelectViewMore: React.FunctionComponent = () => {
5
+ const [isOpen, setIsOpen] = React.useState(false);
6
+ const [selected, setSelected] = React.useState<string>('Select a value');
7
+ const [activeItem, setActiveItem] = React.useState<number | string>(0);
8
+ const [isLoading, setIsLoading] = React.useState(false);
9
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
10
+ const [selectOptions, setSelectOptions] = React.useState([
11
+ <SelectOption key={0} itemId="Option 1">
12
+ Option 1
13
+ </SelectOption>,
14
+ <SelectOption key={1} itemId="Option 2">
15
+ Option 2
16
+ </SelectOption>,
17
+ <SelectOption key={2} itemId="Option 3">
18
+ Option 3
19
+ </SelectOption>,
20
+ <SelectOption key={3} itemId="Option 4">
21
+ Option 4
22
+ </SelectOption>,
23
+ <SelectOption key={4} itemId="Option 5">
24
+ Option 5
25
+ </SelectOption>,
26
+ <SelectOption key={5} itemId="Option 6">
27
+ Option 6
28
+ </SelectOption>,
29
+ <SelectOption key={6} itemId="Option 7">
30
+ Option 7
31
+ </SelectOption>,
32
+ <SelectOption key={7} itemId="Option 8">
33
+ Option 8
34
+ </SelectOption>,
35
+ <SelectOption key={8} itemId="Option 9">
36
+ Option 9
37
+ </SelectOption>,
38
+ <SelectOption key={9} itemId="Final Option 10">
39
+ Final Option 10
40
+ </SelectOption>
41
+ ]);
42
+ const [numOptions, setNumOptions] = React.useState(3);
43
+ const [visibleOptions, setVisibleOptions] = React.useState(selectOptions.slice(0, numOptions));
44
+ const activeItemRef = React.useRef<HTMLElement>(null);
45
+ const viewMoreRef = React.useRef<HTMLLIElement>(null);
46
+ const toggleRef = React.useRef<HTMLButtonElement>(null);
47
+
48
+ React.useEffect(() => {
49
+ activeItemRef.current?.focus();
50
+ }, [visibleOptions]);
51
+
52
+ const simulateNetworkCall = (networkCallback: () => void) => {
53
+ setTimeout(networkCallback, 2000);
54
+ };
55
+
56
+ const getNextValidItem = (startingIndex: number, maxLength: number) => {
57
+ let validItem;
58
+ for (let i = startingIndex; i < maxLength; i++) {
59
+ if (selectOptions[i].props.isDisabled) {
60
+ continue;
61
+ } else {
62
+ validItem = selectOptions[i];
63
+ break;
64
+ }
65
+ }
66
+ return validItem;
67
+ };
68
+
69
+ const loadMoreOptions = () => {
70
+ const newLength = numOptions + 3 <= selectOptions.length ? numOptions + 3 : selectOptions.length;
71
+ const prevPosition = numOptions;
72
+ const nextValidItem = getNextValidItem(prevPosition, newLength);
73
+
74
+ setNumOptions(newLength);
75
+ setIsLoading(false);
76
+ setActiveItem(nextValidItem.props.itemId);
77
+ setVisibleOptions(selectOptions.slice(0, newLength));
78
+ };
79
+
80
+ const onViewMoreClick = () => {
81
+ setIsLoading(true);
82
+ simulateNetworkCall(() => {
83
+ loadMoreOptions();
84
+ });
85
+ };
86
+
87
+ const onToggleClick = () => {
88
+ setIsOpen(!isOpen);
89
+ };
90
+
91
+ const onSelect = (_event: React.MouseEvent<Element, MouseEvent> | undefined, itemId: string | number | undefined) => {
92
+ // eslint-disable-next-line no-console
93
+ console.log('selected', itemId);
94
+
95
+ if (itemId !== 'loader') {
96
+ setSelected(itemId as string);
97
+ setIsOpen(false);
98
+ toggleRef?.current?.focus(); // Only focus the toggle when a non-loader option is selected
99
+ }
100
+ };
101
+
102
+ const toggle = (
103
+ <MenuToggle
104
+ ref={toggleRef}
105
+ onClick={onToggleClick}
106
+ isExpanded={isOpen}
107
+ style={
108
+ {
109
+ width: '200px'
110
+ } as React.CSSProperties
111
+ }
112
+ >
113
+ {selected}
114
+ </MenuToggle>
115
+ );
116
+
117
+ return (
118
+ <Select
119
+ id="single-view-more-select"
120
+ isOpen={isOpen}
121
+ selected={selected}
122
+ onSelect={onSelect}
123
+ onOpenChange={(isOpen) => setIsOpen(isOpen)}
124
+ toggle={{ toggleNode: toggle, toggleRef }}
125
+ >
126
+ <SelectList>
127
+ {visibleOptions.map((option) => {
128
+ const props = option.props;
129
+
130
+ return <SelectOption key={option.key} ref={props.itemId === activeItem ? activeItemRef : null} {...props} />;
131
+ })}
132
+ {numOptions !== selectOptions.length && (
133
+ <SelectOption
134
+ {...(!isLoading && { isLoadButton: true })}
135
+ {...(isLoading && { isLoading: true })}
136
+ onClick={onViewMoreClick}
137
+ itemId="loader"
138
+ ref={viewMoreRef}
139
+ >
140
+ {isLoading ? <Spinner size="lg" /> : 'View more'}
141
+ </SelectOption>
142
+ )}
143
+ </SelectList>
144
+ </Select>
145
+ );
146
+ };
@@ -37,11 +37,11 @@ export interface TabProps
37
37
  innerRef?: React.Ref<any>;
38
38
  /** Optional Tooltip rendered to a Tab. Should be <Tooltip> with appropriate props for proper rendering. */
39
39
  tooltip?: React.ReactElement<any>;
40
- /** @beta Aria-label for the close button added by passing the onClose property to Tabs. */
40
+ /** Aria-label for the close button added by passing the onClose property to Tabs. */
41
41
  closeButtonAriaLabel?: string;
42
- /** @beta Flag indicating the close button should be disabled */
42
+ /** Flag indicating the close button should be disabled */
43
43
  isCloseDisabled?: boolean;
44
- /** @beta Actions rendered beside the tab content */
44
+ /** Actions rendered beside the tab content */
45
45
  actions?: React.ReactNode;
46
46
  /** Value to set the data-ouia-component-id for the tab button.*/
47
47
  ouiaId?: number | string;
@@ -105,7 +105,7 @@ export interface TabsProps extends Omit<React.HTMLProps<HTMLElement | HTMLDivEle
105
105
  toggleAriaLabel?: string;
106
106
  /** Callback function to toggle the expandable tabs. */
107
107
  onToggle?: (event: React.MouseEvent, isExpanded: boolean) => void;
108
- /** @beta Flag which places overflowing tabs into a menu triggered by the last tab. Additionally an object can be passed with custom settings for the overflow tab. */
108
+ /** Flag which places overflowing tabs into a menu triggered by the last tab. Additionally an object can be passed with custom settings for the overflow tab. */
109
109
  isOverflowHorizontal?: boolean | HorizontalOverflowObject;
110
110
  /** Value to overwrite the randomly generated data-ouia-component-id.*/
111
111
  ouiaId?: number | string;
@@ -89,7 +89,7 @@ To enable horizontal overflow, use the `isOverflowHorizontal` property.
89
89
 
90
90
  In the following example, select the 'Show overflowing tab count' checkbox to add a count of overflow items to the final “more” tab.
91
91
 
92
- ```ts file="./TabsHorizontalOverflow.tsx" isBeta
92
+ ```ts file="./TabsHorizontalOverflow.tsx"
93
93
  ```
94
94
 
95
95
  ### With tooltip react ref
@@ -218,7 +218,7 @@ You may add a help action to a tab to provide users with additional context in a
218
218
 
219
219
  To render an action beside the tab content, use the `actions` property of a `<Tab>`. Pass a popover and a `<TabsAction>` component into the `actions` property.
220
220
 
221
- ```ts file="./TabsHelp.tsx" isBeta
221
+ ```ts file="./TabsHelp.tsx"
222
222
  ```
223
223
 
224
224
  ### With help and close actions
@@ -227,5 +227,5 @@ To add multiple actions to a tab, create a `<TabAction>` component for each acti
227
227
 
228
228
  The following example passes in both help popover and close actions.
229
229
 
230
- ```ts file="./TabsHelpAndClose.tsx" isBeta
230
+ ```ts file="./TabsHelpAndClose.tsx"
231
231
  ```
@@ -3,7 +3,6 @@ id: Text input group
3
3
  section: components
4
4
  cssPrefix: pf-c-text-input-group
5
5
  propComponents: ['TextInputGroup', 'TextInputGroupMain', 'TextInputGroupUtilities']
6
- beta: true
7
6
  ---
8
7
 
9
8
  import SearchIcon from '@patternfly/react-icons/dist/esm/icons/search-icon';
@@ -3,7 +3,6 @@ id: Tile
3
3
  section: components
4
4
  cssPrefix: pf-c-tile
5
5
  propComponents: ['Tile']
6
- beta: true
7
6
  ---
8
7
 
9
8
  import PlusIcon from '@patternfly/react-icons/dist/esm/icons/plus-icon';
@@ -2,7 +2,6 @@
2
2
  id: Truncate
3
3
  section: components
4
4
  propComponents: [Truncate]
5
- beta: true
6
5
  ---
7
6
 
8
7
  import './TruncateExamples.css';
@@ -56,4 +55,4 @@ import { Truncate } from '@patternfly/react-core';
56
55
  tooltipPosition={'bottom'}
57
56
  />
58
57
  </div>
59
- ```
58
+ ```
@@ -32,36 +32,43 @@ Custom menus can be constructed using a composable approach by combining the [Me
32
32
  ### Composable simple dropdown
33
33
 
34
34
  ```ts file="./examples/ComposableSimpleDropdown.tsx"
35
+
35
36
  ```
36
37
 
37
38
  ### Composable actions menu
38
39
 
39
40
  ```ts file="./examples/ComposableActionsMenu.tsx"
41
+
40
42
  ```
41
43
 
42
44
  ### Composable simple select
43
45
 
44
46
  ```ts file="./examples/ComposableSimpleSelect.tsx"
47
+
45
48
  ```
46
49
 
47
50
  ### Composable simple checkbox select
48
51
 
49
- ```ts isBeta file="./examples/ComposableSimpleCheckboxSelect.tsx"
52
+ ```ts file="./examples/ComposableSimpleCheckboxSelect.tsx"
53
+
50
54
  ```
51
55
 
52
56
  ### Composable typeahead select
53
57
 
54
- ```ts isBeta file="./examples/ComposableTypeaheadSelect.tsx"
58
+ ```ts file="./examples/ComposableTypeaheadSelect.tsx"
59
+
55
60
  ```
56
61
 
57
62
  ### Composable multiple typeahead select
58
63
 
59
- ```ts isBeta file="./examples/ComposableMultipleTypeaheadSelect.tsx"
64
+ ```ts file="./examples/ComposableMultipleTypeaheadSelect.tsx"
65
+
60
66
  ```
61
67
 
62
68
  ### Composable drilldown menu
63
69
 
64
70
  ```ts isBeta file="./examples/ComposableDrilldownMenu.tsx"
71
+
65
72
  ```
66
73
 
67
74
  ### Composable tree view menu
@@ -69,6 +76,7 @@ Custom menus can be constructed using a composable approach by combining the [Me
69
76
  When rendering a menu-like element that does not contain MenuItem components, [Panel](/components/panel) allows more flexible control and customization.
70
77
 
71
78
  ```ts file="./examples/ComposableTreeViewMenu.tsx"
79
+
72
80
  ```
73
81
 
74
82
  ### Composable flyout
@@ -76,29 +84,35 @@ When rendering a menu-like element that does not contain MenuItem components, [P
76
84
  The flyout will automatically position to the left or top if it would otherwise go outside the window. The menu must be placed in a container outside the main content like Popper, [Popover](/components/popover) or [Tooltip](/components/tooltip) since it may go over the side nav.
77
85
 
78
86
  ```ts isBeta file="./examples/ComposableFlyout.tsx"
87
+
79
88
  ```
80
89
 
81
90
  ### Composable application launcher
82
91
 
83
92
  ```ts file="./examples/ComposableApplicationLauncher.tsx"
93
+
84
94
  ```
85
95
 
86
96
  ### Composable context selector
87
97
 
88
98
  ```ts file="./examples/ComposableContextSelector.tsx"
99
+
89
100
  ```
90
101
 
91
102
  ### Composable options menu variants
92
103
 
93
104
  ```ts file="./examples/ComposableOptionsMenuVariants.tsx"
105
+
94
106
  ```
95
107
 
96
108
  ### Composable dropdown variants
97
109
 
98
110
  ```ts file="./examples/ComposableDropdwnVariants.tsx"
111
+
99
112
  ```
100
113
 
101
114
  ### Composable date select
102
115
 
103
116
  ```ts file="./examples/ComposableDateSelect.tsx"
117
+
104
118
  ```
@@ -2,7 +2,6 @@
2
2
  id: Date picker
3
3
  section: components
4
4
  subsection: date-and-time
5
- beta: true
6
5
  ---
7
6
 
8
7
  ## Demos
@@ -1,7 +1,6 @@
1
1
  ---
2
2
  id: Progress stepper
3
3
  section: components
4
- beta: true
5
4
  ---
6
5
 
7
6
  ## Demos
@@ -1,7 +1,6 @@
1
1
  ---
2
2
  id: Search input
3
3
  section: components
4
- beta: true
5
4
  ---
6
5
 
7
6
  import {
@@ -1,7 +1,6 @@
1
1
  ---
2
2
  id: Text input group
3
3
  section: components
4
- beta: true
5
4
  ---
6
5
 
7
6
  import SearchIcon from '@patternfly/react-icons/dist/esm/icons/search-icon';
@@ -16,7 +16,7 @@ export interface DropdownToggleCheckboxProps
16
16
  isDisabled?: boolean;
17
17
  /** Flag to show if the checkbox is checked */
18
18
  isChecked?: boolean | null;
19
- /** @beta Flag to show if the checkbox is in progress */
19
+ /** Flag to show if the checkbox is in progress */
20
20
  isInProgress?: boolean | null;
21
21
  /** Alternate Flag to show if the checkbox is checked */
22
22
  checked?: boolean | null;
@@ -28,9 +28,9 @@ export interface DropdownToggleCheckboxProps
28
28
  id: string;
29
29
  /** Aria-label of the checkbox */
30
30
  'aria-label': string;
31
- /** @beta Text describing current loading status or progress */
31
+ /** Text describing current loading status or progress */
32
32
  defaultProgressAriaValueText?: string;
33
- /** @beta Aria-label for the default progress icon to describe what is loading */
33
+ /** Aria-label for the default progress icon to describe what is loading */
34
34
  defaultProgressAriaLabel?: string;
35
35
  /** Value to overwrite the randomly generated data-ouia-component-id.*/
36
36
  ouiaId?: number | string;
@@ -161,7 +161,7 @@ Text labels may optionally be used alongside actions within split buttons.
161
161
 
162
162
  The `isInProgress` property can be used to indicate a progress state by rendering a spinner in place of a checkbox.
163
163
 
164
- ```ts isBeta file="./DropdownSplitButtonProgressCheckbox.tsx"
164
+ ```ts file="./DropdownSplitButtonProgressCheckbox.tsx"
165
165
 
166
166
  ```
167
167
 
@@ -68,7 +68,7 @@ export interface PopperProps {
68
68
  position?: 'right' | 'left' | 'center';
69
69
  /** Instead of direction and position can set the placement of the popper */
70
70
  placement?: Placement;
71
- /** Custsom width of the popper. If the value is "trigger", it will set the width to the trigger element's width */
71
+ /** Custom width of the popper. If the value is "trigger", it will set the width to the trigger element's width */
72
72
  width?: string | 'trigger';
73
73
  /** Minimum width of the popper. If the value is "trigger", it will set the min width to the trigger element's width */
74
74
  minWidth?: string | 'trigger';
@@ -136,6 +136,141 @@ export interface FlexProps extends React.HTMLProps<HTMLDivElement> {
136
136
  | 'spaceItems3xl'
137
137
  | 'spaceItems4xl';
138
138
  };
139
+ /** Gap between items at various breakpoints. This will override spacers for the main axis. */
140
+ gap?: {
141
+ default?: 'gapNone' | 'gapXs' | 'gapSm' | 'gapMd' | 'gapLg' | 'gapXl' | 'gap2xl' | 'gap3xl' | 'gap4xl';
142
+ sm?: 'gapNone' | 'gapXs' | 'gapSm' | 'gapMd' | 'gapLg' | 'gapXl' | 'gap2xl' | 'gap3xl' | 'gap4xl';
143
+ md?: 'gapNone' | 'gapXs' | 'gapSm' | 'gapMd' | 'gapLg' | 'gapXl' | 'gap2xl' | 'gap3xl' | 'gap4xl';
144
+ lg?: 'gapNone' | 'gapXs' | 'gapSm' | 'gapMd' | 'gapLg' | 'gapXl' | 'gap2xl' | 'gap3xl' | 'gap4xl';
145
+ xl?: 'gapNone' | 'gapXs' | 'gapSm' | 'gapMd' | 'gapLg' | 'gapXl' | 'gap2xl' | 'gap3xl' | 'gap4xl';
146
+ '2xl'?: 'gapNone' | 'gapXs' | 'gapSm' | 'gapMd' | 'gapLg' | 'gapXl' | 'gap2xl' | 'gap3xl' | 'gap4xl';
147
+ };
148
+ /** Gap between rows at various breakpoints. This will override spacers for the main axis. */
149
+ rowGap?: {
150
+ default?:
151
+ | 'rowGapNone'
152
+ | 'rowGapXs'
153
+ | 'rowGapSm'
154
+ | 'rowGapMd'
155
+ | 'rowGapLg'
156
+ | 'rowGapXl'
157
+ | 'rowGap2xl'
158
+ | 'rowGap3xl'
159
+ | 'rowGap4xl';
160
+ sm?:
161
+ | 'rowGapNone'
162
+ | 'rowGapXs'
163
+ | 'rowGapSm'
164
+ | 'rowGapMd'
165
+ | 'rowGapLg'
166
+ | 'rowGapXl'
167
+ | 'rowGap2xl'
168
+ | 'rowGap3xl'
169
+ | 'rowGap4xl';
170
+ md?:
171
+ | 'rowGapNone'
172
+ | 'rowGapXs'
173
+ | 'rowGapSm'
174
+ | 'rowGapMd'
175
+ | 'rowGapLg'
176
+ | 'rowGapXl'
177
+ | 'rowGap2xl'
178
+ | 'rowGap3xl'
179
+ | 'rowGap4xl';
180
+ lg?:
181
+ | 'rowGapNone'
182
+ | 'rowGapXs'
183
+ | 'rowGapSm'
184
+ | 'rowGapMd'
185
+ | 'rowGapLg'
186
+ | 'rowGapXl'
187
+ | 'rowGap2xl'
188
+ | 'rowGap3xl'
189
+ | 'rowGap4xl';
190
+ xl?:
191
+ | 'rowGapNone'
192
+ | 'rowGapXs'
193
+ | 'rowGapSm'
194
+ | 'rowGapMd'
195
+ | 'rowGapLg'
196
+ | 'rowGapXl'
197
+ | 'rowGap2xl'
198
+ | 'rowGap3xl'
199
+ | 'rowGap4xl';
200
+ '2xl'?:
201
+ | 'rowGapNone'
202
+ | 'rowGapXs'
203
+ | 'rowGapSm'
204
+ | 'rowGapMd'
205
+ | 'rowGapLg'
206
+ | 'rowGapXl'
207
+ | 'rowGap2xl'
208
+ | 'rowGap3xl'
209
+ | 'rowGap4xl';
210
+ };
211
+ /** Gap beween columns at various breakpoints. This will override spacers for the main axis. */
212
+ columnGap?: {
213
+ default?:
214
+ | 'columnGapNone'
215
+ | 'columnGapXs'
216
+ | 'columnGapSm'
217
+ | 'columnGapMd'
218
+ | 'columnGapLg'
219
+ | 'columnGapXl'
220
+ | 'columnGap2xl'
221
+ | 'columnGap3xl'
222
+ | 'columnGap4xl';
223
+ sm?:
224
+ | 'columnGapNone'
225
+ | 'columnGapXs'
226
+ | 'columnGapSm'
227
+ | 'columnGapMd'
228
+ | 'columnGapLg'
229
+ | 'columnGapXl'
230
+ | 'columnGap2xl'
231
+ | 'columnGap3xl'
232
+ | 'columnGap4xl';
233
+ md?:
234
+ | 'columnGapNone'
235
+ | 'columnGapXs'
236
+ | 'columnGapSm'
237
+ | 'columnGapMd'
238
+ | 'columnGapLg'
239
+ | 'columnGapXl'
240
+ | 'columnGap2xl'
241
+ | 'columnGap3xl'
242
+ | 'columnGap4xl';
243
+ lg?:
244
+ | 'columnGapNone'
245
+ | 'columnGapXs'
246
+ | 'columnGapSm'
247
+ | 'columnGapMd'
248
+ | 'columnGapLg'
249
+ | 'columnGapXl'
250
+ | 'columnGap2xl'
251
+ | 'columnGap3xl'
252
+ | 'columnGap4xl';
253
+ xl?:
254
+ | 'columnGapNone'
255
+ | 'columnGapXs'
256
+ | 'columnGapSm'
257
+ | 'columnGapMd'
258
+ | 'columnGapLg'
259
+ | 'columnGapXl'
260
+ | 'columnGap2xl'
261
+ | 'columnGap3xl'
262
+ | 'columnGap4xl';
263
+ '2xl'?:
264
+ | 'columnGapNone'
265
+ | 'columnGapXs'
266
+ | 'columnGapSm'
267
+ | 'columnGapMd'
268
+ | 'columnGapLg'
269
+ | 'columnGapXl'
270
+ | 'columnGap2xl'
271
+ | 'columnGap3xl'
272
+ | 'columnGap4xl';
273
+ };
139
274
  /** Whether to add flex: grow at various breakpoints */
140
275
  grow?: {
141
276
  default?: 'grow';
@@ -344,6 +479,9 @@ export const Flex: React.FunctionComponent<FlexProps> = ({
344
479
  component = 'div',
345
480
  spacer,
346
481
  spaceItems,
482
+ gap,
483
+ rowGap,
484
+ columnGap,
347
485
  grow,
348
486
  shrink,
349
487
  flex,
@@ -380,6 +518,9 @@ export const Flex: React.FunctionComponent<FlexProps> = ({
380
518
  formatBreakpointMods(display, styles),
381
519
  formatBreakpointMods(fullWidth, styles),
382
520
  formatBreakpointMods(flexWrap, styles),
521
+ formatBreakpointMods(gap, styles),
522
+ formatBreakpointMods(rowGap, styles),
523
+ formatBreakpointMods(columnGap, styles),
383
524
  className
384
525
  )}
385
526
  style={
@@ -85,16 +85,40 @@ describe('Flex', () => {
85
85
  ],
86
86
  display: ['inlineFlex'],
87
87
  fullWidth: ['fullWidth'],
88
- flexWrap: ['wrap', 'wrapReverse', 'nowrap']
88
+ flexWrap: ['wrap', 'wrapReverse', 'nowrap'],
89
+ gap: ['gapNone', 'gapXs', 'gapSm', 'gapMd', 'gapLg', 'gapXl', 'gap2xl', 'gap3xl', 'gap4xl'],
90
+ rowGap: [
91
+ 'rowGapNone',
92
+ 'rowGapXs',
93
+ 'rowGapSm',
94
+ 'rowGapMd',
95
+ 'rowGapLg',
96
+ 'rowGapXl',
97
+ 'rowGap2xl',
98
+ 'rowGap3xl',
99
+ 'rowGap4xl'
100
+ ],
101
+ columnGap: [
102
+ 'columnGapNone',
103
+ 'columnGapXs',
104
+ 'columnGapSm',
105
+ 'columnGapMd',
106
+ 'columnGapLg',
107
+ 'columnGapXl',
108
+ 'columnGap2xl',
109
+ 'columnGap3xl',
110
+ 'columnGap4xl'
111
+ ]
89
112
  };
90
113
 
91
114
  describe('flex modifiers', () => {
92
115
  Object.entries(flexModifiers)
93
116
  .map(([mod, values]) =>
94
- values.map(value => ({
117
+ values.map((value) => ({
95
118
  [mod]: {
96
119
  default: value,
97
120
  sm: value,
121
+ md: value,
98
122
  lg: value,
99
123
  xl: value,
100
124
  '2xl': value
@@ -102,7 +126,7 @@ describe('Flex', () => {
102
126
  }))
103
127
  )
104
128
  .reduce((acc, val) => acc.concat(val), [])
105
- .forEach(props =>
129
+ .forEach((props) =>
106
130
  test(`${JSON.stringify(props)} add valid classes to Flex`, () => {
107
131
  render(
108
132
  <Flex {...props} data-testid="test-id">
@@ -110,11 +134,7 @@ describe('Flex', () => {
110
134
  </Flex>
111
135
  );
112
136
 
113
- const className = screen
114
- .getByTestId('test-id')
115
- .className.replace('pf-l-flex', '')
116
- .trim();
117
-
137
+ const className = screen.getByTestId('test-id').className.replace('pf-l-flex', '').trim();
118
138
  expect(className).not.toBe("''");
119
139
  expect(className).not.toBe('');
120
140
  })
@@ -134,7 +154,7 @@ describe('Flex', () => {
134
154
  describe('flexItem modifiers', () => {
135
155
  Object.entries(flexItemModifiers)
136
156
  .map(([mod, values]) =>
137
- values.map(value => ({
157
+ values.map((value) => ({
138
158
  [mod]: {
139
159
  default: value,
140
160
  sm: value,
@@ -145,7 +165,7 @@ describe('Flex', () => {
145
165
  }))
146
166
  )
147
167
  .reduce((acc, val) => acc.concat(val), [])
148
- .forEach(props =>
168
+ .forEach((props) =>
149
169
  test(`${JSON.stringify(props)} add valid classes to FlexItem`, () => {
150
170
  render(
151
171
  <FlexItem {...props} data-testid="test-id">