@patternfly/react-core 6.0.0-alpha.57 → 6.0.0-alpha.58

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 (721) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/components/package.json +1 -1
  3. package/deprecated/package.json +1 -1
  4. package/dist/dynamic/components/AboutModal/package.json +1 -1
  5. package/dist/dynamic/components/Accordion/package.json +1 -1
  6. package/dist/dynamic/components/ActionList/package.json +1 -1
  7. package/dist/dynamic/components/Alert/package.json +1 -1
  8. package/dist/dynamic/components/Avatar/package.json +1 -1
  9. package/dist/dynamic/components/BackToTop/package.json +1 -1
  10. package/dist/dynamic/components/Backdrop/package.json +1 -1
  11. package/dist/dynamic/components/BackgroundImage/package.json +1 -1
  12. package/dist/dynamic/components/Badge/package.json +1 -1
  13. package/dist/dynamic/components/Banner/package.json +1 -1
  14. package/dist/dynamic/components/Brand/package.json +1 -1
  15. package/dist/dynamic/components/Breadcrumb/package.json +1 -1
  16. package/dist/dynamic/components/Button/package.json +1 -1
  17. package/dist/dynamic/components/CalendarMonth/package.json +1 -1
  18. package/dist/dynamic/components/Card/package.json +1 -1
  19. package/dist/dynamic/components/Checkbox/package.json +1 -1
  20. package/dist/dynamic/components/ClipboardCopy/package.json +1 -1
  21. package/dist/dynamic/components/CodeBlock/package.json +1 -1
  22. package/dist/dynamic/components/DataList/package.json +1 -1
  23. package/dist/dynamic/components/DatePicker/package.json +1 -1
  24. package/dist/dynamic/components/DescriptionList/package.json +1 -1
  25. package/dist/dynamic/components/Divider/package.json +1 -1
  26. package/dist/dynamic/components/Drawer/package.json +1 -1
  27. package/dist/dynamic/components/Dropdown/package.json +1 -1
  28. package/dist/dynamic/components/DualListSelector/package.json +1 -1
  29. package/dist/dynamic/components/EmptyState/package.json +1 -1
  30. package/dist/dynamic/components/ExpandableSection/package.json +1 -1
  31. package/dist/dynamic/components/FileUpload/package.json +1 -1
  32. package/dist/dynamic/components/Form/package.json +1 -1
  33. package/dist/dynamic/components/FormSelect/package.json +1 -1
  34. package/dist/dynamic/components/HelperText/package.json +1 -1
  35. package/dist/dynamic/components/Hint/package.json +1 -1
  36. package/dist/dynamic/components/Icon/package.json +1 -1
  37. package/dist/dynamic/components/InputGroup/package.json +1 -1
  38. package/dist/dynamic/components/JumpLinks/package.json +1 -1
  39. package/dist/dynamic/components/Label/package.json +1 -1
  40. package/dist/dynamic/components/List/package.json +1 -1
  41. package/dist/dynamic/components/LoginPage/package.json +1 -1
  42. package/dist/dynamic/components/Masthead/package.json +1 -1
  43. package/dist/dynamic/components/Menu/package.json +1 -1
  44. package/dist/dynamic/components/MenuToggle/package.json +1 -1
  45. package/dist/dynamic/components/Modal/package.json +1 -1
  46. package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
  47. package/dist/dynamic/components/Nav/package.json +1 -1
  48. package/dist/dynamic/components/NotificationBadge/package.json +1 -1
  49. package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
  50. package/dist/dynamic/components/NumberInput/package.json +1 -1
  51. package/dist/dynamic/components/OverflowMenu/package.json +1 -1
  52. package/dist/dynamic/components/Page/package.json +1 -1
  53. package/dist/dynamic/components/Pagination/package.json +1 -1
  54. package/dist/dynamic/components/Panel/package.json +1 -1
  55. package/dist/dynamic/components/Popover/package.json +1 -1
  56. package/dist/dynamic/components/Progress/package.json +1 -1
  57. package/dist/dynamic/components/ProgressStepper/package.json +1 -1
  58. package/dist/dynamic/components/Radio/package.json +1 -1
  59. package/dist/dynamic/components/SearchInput/package.json +1 -1
  60. package/dist/dynamic/components/Select/package.json +1 -1
  61. package/dist/dynamic/components/Sidebar/package.json +1 -1
  62. package/dist/dynamic/components/SimpleList/package.json +1 -1
  63. package/dist/dynamic/components/Skeleton/package.json +1 -1
  64. package/dist/dynamic/components/SkipToContent/package.json +1 -1
  65. package/dist/dynamic/components/Slider/package.json +1 -1
  66. package/dist/dynamic/components/Spinner/package.json +1 -1
  67. package/dist/dynamic/components/Switch/package.json +1 -1
  68. package/dist/dynamic/components/Tabs/package.json +1 -1
  69. package/dist/dynamic/components/Text/package.json +1 -1
  70. package/dist/dynamic/components/TextArea/package.json +1 -1
  71. package/dist/dynamic/components/TextInput/package.json +1 -1
  72. package/dist/dynamic/components/TextInputGroup/package.json +1 -1
  73. package/dist/dynamic/components/Tile/package.json +1 -1
  74. package/dist/dynamic/components/TimePicker/package.json +1 -1
  75. package/dist/dynamic/components/Timestamp/package.json +1 -1
  76. package/dist/dynamic/components/Title/package.json +1 -1
  77. package/dist/dynamic/components/ToggleGroup/package.json +1 -1
  78. package/dist/dynamic/components/Toolbar/package.json +1 -1
  79. package/dist/dynamic/components/Tooltip/package.json +1 -1
  80. package/dist/dynamic/components/TreeView/package.json +1 -1
  81. package/dist/dynamic/components/Truncate/package.json +1 -1
  82. package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
  83. package/dist/dynamic/components/Wizard/package.json +1 -1
  84. package/dist/dynamic/deprecated/components/Chip/package.json +1 -1
  85. package/dist/dynamic/deprecated/components/DragDrop/package.json +1 -1
  86. package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
  87. package/dist/dynamic/deprecated/components/package.json +1 -1
  88. package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
  89. package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
  90. package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
  91. package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
  92. package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
  93. package/dist/dynamic/helpers/constants/package.json +1 -1
  94. package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
  95. package/dist/dynamic/helpers/fileUtils/package.json +1 -1
  96. package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
  97. package/dist/dynamic/helpers/package.json +1 -1
  98. package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
  99. package/dist/dynamic/helpers/typeUtils/package.json +1 -1
  100. package/dist/dynamic/helpers/useInterval/package.json +1 -1
  101. package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
  102. package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
  103. package/dist/dynamic/helpers/util/package.json +1 -1
  104. package/dist/dynamic/layouts/Bullseye/package.json +1 -1
  105. package/dist/dynamic/layouts/Flex/package.json +1 -1
  106. package/dist/dynamic/layouts/Gallery/package.json +1 -1
  107. package/dist/dynamic/layouts/Grid/package.json +1 -1
  108. package/dist/dynamic/layouts/Level/package.json +1 -1
  109. package/dist/dynamic/layouts/Split/package.json +1 -1
  110. package/dist/dynamic/layouts/Stack/package.json +1 -1
  111. package/dist/dynamic/next/components/DualListSelector/package.json +1 -1
  112. package/dist/dynamic/next/components/Modal/package.json +1 -1
  113. package/dist/dynamic/next/components/package.json +1 -1
  114. package/dist/dynamic/styles/package.json +1 -1
  115. package/dist/esm/deprecated/components/index.d.ts +0 -6
  116. package/dist/esm/deprecated/components/index.d.ts.map +1 -1
  117. package/dist/esm/deprecated/components/index.js +0 -6
  118. package/dist/esm/deprecated/components/index.js.map +1 -1
  119. package/dist/js/deprecated/components/index.d.ts +0 -6
  120. package/dist/js/deprecated/components/index.d.ts.map +1 -1
  121. package/dist/js/deprecated/components/index.js +0 -6
  122. package/dist/js/deprecated/components/index.js.map +1 -1
  123. package/helpers/package.json +1 -1
  124. package/layouts/package.json +1 -1
  125. package/next/package.json +1 -1
  126. package/package.json +2 -2
  127. package/src/components/Page/__tests__/Page.test.tsx +14 -14
  128. package/src/components/Page/__tests__/__snapshots__/Page.test.tsx.snap +26 -224
  129. package/src/deprecated/components/index.ts +0 -6
  130. package/dist/dynamic/deprecated/components/ApplicationLauncher/package.json +0 -1
  131. package/dist/dynamic/deprecated/components/ContextSelector/package.json +0 -1
  132. package/dist/dynamic/deprecated/components/Dropdown/package.json +0 -1
  133. package/dist/dynamic/deprecated/components/OptionsMenu/package.json +0 -1
  134. package/dist/dynamic/deprecated/components/PageHeader/package.json +0 -1
  135. package/dist/dynamic/deprecated/components/Select/package.json +0 -1
  136. package/dist/dynamic/helpers/favorites/package.json +0 -1
  137. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncher.d.ts +0 -60
  138. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncher.d.ts.map +0 -1
  139. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncher.js +0 -99
  140. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncher.js.map +0 -1
  141. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherContent.d.ts +0 -7
  142. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherContent.d.ts.map +0 -1
  143. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherContent.js +0 -16
  144. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherContent.js.map +0 -1
  145. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherContext.d.ts +0 -5
  146. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherContext.d.ts.map +0 -1
  147. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherContext.js +0 -6
  148. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherContext.js.map +0 -1
  149. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherGroup.d.ts +0 -4
  150. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherGroup.d.ts.map +0 -1
  151. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherGroup.js +0 -9
  152. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherGroup.js.map +0 -1
  153. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherIcon.d.ts +0 -9
  154. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherIcon.d.ts.map +0 -1
  155. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherIcon.js +0 -12
  156. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherIcon.js.map +0 -1
  157. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherItem.d.ts +0 -31
  158. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherItem.d.ts.map +0 -1
  159. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherItem.js +0 -22
  160. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherItem.js.map +0 -1
  161. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherItemContext.d.ts +0 -6
  162. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherItemContext.d.ts.map +0 -1
  163. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherItemContext.js +0 -3
  164. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherItemContext.js.map +0 -1
  165. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherSeparator.d.ts +0 -4
  166. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherSeparator.d.ts.map +0 -1
  167. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherSeparator.js +0 -11
  168. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherSeparator.js.map +0 -1
  169. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherText.d.ts +0 -9
  170. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherText.d.ts.map +0 -1
  171. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherText.js +0 -10
  172. package/dist/esm/deprecated/components/ApplicationLauncher/ApplicationLauncherText.js.map +0 -1
  173. package/dist/esm/deprecated/components/ApplicationLauncher/index.d.ts +0 -10
  174. package/dist/esm/deprecated/components/ApplicationLauncher/index.d.ts.map +0 -1
  175. package/dist/esm/deprecated/components/ApplicationLauncher/index.js +0 -10
  176. package/dist/esm/deprecated/components/ApplicationLauncher/index.js.map +0 -1
  177. package/dist/esm/deprecated/components/ContextSelector/ContextSelector.d.ts +0 -75
  178. package/dist/esm/deprecated/components/ContextSelector/ContextSelector.d.ts.map +0 -1
  179. package/dist/esm/deprecated/components/ContextSelector/ContextSelector.js +0 -73
  180. package/dist/esm/deprecated/components/ContextSelector/ContextSelector.js.map +0 -1
  181. package/dist/esm/deprecated/components/ContextSelector/ContextSelectorFooter.d.ts +0 -9
  182. package/dist/esm/deprecated/components/ContextSelector/ContextSelectorFooter.d.ts.map +0 -1
  183. package/dist/esm/deprecated/components/ContextSelector/ContextSelectorFooter.js +0 -10
  184. package/dist/esm/deprecated/components/ContextSelector/ContextSelectorFooter.js.map +0 -1
  185. package/dist/esm/deprecated/components/ContextSelector/ContextSelectorItem.d.ts +0 -26
  186. package/dist/esm/deprecated/components/ContextSelector/ContextSelectorItem.d.ts.map +0 -1
  187. package/dist/esm/deprecated/components/ContextSelector/ContextSelectorItem.js +0 -40
  188. package/dist/esm/deprecated/components/ContextSelector/ContextSelectorItem.js.map +0 -1
  189. package/dist/esm/deprecated/components/ContextSelector/ContextSelectorMenuList.d.ts +0 -21
  190. package/dist/esm/deprecated/components/ContextSelector/ContextSelectorMenuList.d.ts.map +0 -1
  191. package/dist/esm/deprecated/components/ContextSelector/ContextSelectorMenuList.js +0 -33
  192. package/dist/esm/deprecated/components/ContextSelector/ContextSelectorMenuList.js.map +0 -1
  193. package/dist/esm/deprecated/components/ContextSelector/ContextSelectorToggle.d.ts +0 -39
  194. package/dist/esm/deprecated/components/ContextSelector/ContextSelectorToggle.d.ts.map +0 -1
  195. package/dist/esm/deprecated/components/ContextSelector/ContextSelectorToggle.js +0 -74
  196. package/dist/esm/deprecated/components/ContextSelector/ContextSelectorToggle.js.map +0 -1
  197. package/dist/esm/deprecated/components/ContextSelector/contextSelectorConstants.d.ts +0 -5
  198. package/dist/esm/deprecated/components/ContextSelector/contextSelectorConstants.d.ts.map +0 -1
  199. package/dist/esm/deprecated/components/ContextSelector/contextSelectorConstants.js +0 -6
  200. package/dist/esm/deprecated/components/ContextSelector/contextSelectorConstants.js.map +0 -1
  201. package/dist/esm/deprecated/components/ContextSelector/index.d.ts +0 -4
  202. package/dist/esm/deprecated/components/ContextSelector/index.d.ts.map +0 -1
  203. package/dist/esm/deprecated/components/ContextSelector/index.js +0 -4
  204. package/dist/esm/deprecated/components/ContextSelector/index.js.map +0 -1
  205. package/dist/esm/deprecated/components/Dropdown/BadgeToggle.d.ts +0 -35
  206. package/dist/esm/deprecated/components/Dropdown/BadgeToggle.d.ts.map +0 -1
  207. package/dist/esm/deprecated/components/Dropdown/BadgeToggle.js +0 -20
  208. package/dist/esm/deprecated/components/Dropdown/BadgeToggle.js.map +0 -1
  209. package/dist/esm/deprecated/components/Dropdown/Dropdown.d.ts +0 -66
  210. package/dist/esm/deprecated/components/Dropdown/Dropdown.d.ts.map +0 -1
  211. package/dist/esm/deprecated/components/Dropdown/Dropdown.js +0 -16
  212. package/dist/esm/deprecated/components/Dropdown/Dropdown.js.map +0 -1
  213. package/dist/esm/deprecated/components/Dropdown/DropdownGroup.d.ts +0 -11
  214. package/dist/esm/deprecated/components/Dropdown/DropdownGroup.d.ts.map +0 -1
  215. package/dist/esm/deprecated/components/Dropdown/DropdownGroup.js +0 -15
  216. package/dist/esm/deprecated/components/Dropdown/DropdownGroup.js.map +0 -1
  217. package/dist/esm/deprecated/components/Dropdown/DropdownItem.d.ts +0 -52
  218. package/dist/esm/deprecated/components/Dropdown/DropdownItem.d.ts.map +0 -1
  219. package/dist/esm/deprecated/components/Dropdown/DropdownItem.js +0 -15
  220. package/dist/esm/deprecated/components/Dropdown/DropdownItem.js.map +0 -1
  221. package/dist/esm/deprecated/components/Dropdown/DropdownMenu.d.ts +0 -53
  222. package/dist/esm/deprecated/components/Dropdown/DropdownMenu.d.ts.map +0 -1
  223. package/dist/esm/deprecated/components/Dropdown/DropdownMenu.js +0 -131
  224. package/dist/esm/deprecated/components/Dropdown/DropdownMenu.js.map +0 -1
  225. package/dist/esm/deprecated/components/Dropdown/DropdownSeparator.d.ts +0 -14
  226. package/dist/esm/deprecated/components/Dropdown/DropdownSeparator.d.ts.map +0 -1
  227. package/dist/esm/deprecated/components/Dropdown/DropdownSeparator.js +0 -16
  228. package/dist/esm/deprecated/components/Dropdown/DropdownSeparator.js.map +0 -1
  229. package/dist/esm/deprecated/components/Dropdown/DropdownToggle.d.ts +0 -50
  230. package/dist/esm/deprecated/components/Dropdown/DropdownToggle.d.ts.map +0 -1
  231. package/dist/esm/deprecated/components/Dropdown/DropdownToggle.js +0 -32
  232. package/dist/esm/deprecated/components/Dropdown/DropdownToggle.js.map +0 -1
  233. package/dist/esm/deprecated/components/Dropdown/DropdownToggleAction.d.ts +0 -22
  234. package/dist/esm/deprecated/components/Dropdown/DropdownToggleAction.d.ts.map +0 -1
  235. package/dist/esm/deprecated/components/Dropdown/DropdownToggleAction.js +0 -18
  236. package/dist/esm/deprecated/components/Dropdown/DropdownToggleAction.js.map +0 -1
  237. package/dist/esm/deprecated/components/Dropdown/DropdownToggleCheckbox.d.ts +0 -45
  238. package/dist/esm/deprecated/components/Dropdown/DropdownToggleCheckbox.d.ts.map +0 -1
  239. package/dist/esm/deprecated/components/Dropdown/DropdownToggleCheckbox.js +0 -51
  240. package/dist/esm/deprecated/components/Dropdown/DropdownToggleCheckbox.js.map +0 -1
  241. package/dist/esm/deprecated/components/Dropdown/DropdownWithContext.d.ts +0 -20
  242. package/dist/esm/deprecated/components/Dropdown/DropdownWithContext.d.ts.map +0 -1
  243. package/dist/esm/deprecated/components/Dropdown/DropdownWithContext.js +0 -99
  244. package/dist/esm/deprecated/components/Dropdown/DropdownWithContext.js.map +0 -1
  245. package/dist/esm/deprecated/components/Dropdown/InternalDropdownItem.d.ts +0 -67
  246. package/dist/esm/deprecated/components/Dropdown/InternalDropdownItem.d.ts.map +0 -1
  247. package/dist/esm/deprecated/components/Dropdown/InternalDropdownItem.js +0 -149
  248. package/dist/esm/deprecated/components/Dropdown/InternalDropdownItem.js.map +0 -1
  249. package/dist/esm/deprecated/components/Dropdown/KebabToggle.d.ts +0 -32
  250. package/dist/esm/deprecated/components/Dropdown/KebabToggle.d.ts.map +0 -1
  251. package/dist/esm/deprecated/components/Dropdown/KebabToggle.js +0 -16
  252. package/dist/esm/deprecated/components/Dropdown/KebabToggle.js.map +0 -1
  253. package/dist/esm/deprecated/components/Dropdown/Toggle.d.ts +0 -51
  254. package/dist/esm/deprecated/components/Dropdown/Toggle.d.ts.map +0 -1
  255. package/dist/esm/deprecated/components/Dropdown/Toggle.js +0 -93
  256. package/dist/esm/deprecated/components/Dropdown/Toggle.js.map +0 -1
  257. package/dist/esm/deprecated/components/Dropdown/dropdownConstants.d.ts +0 -41
  258. package/dist/esm/deprecated/components/Dropdown/dropdownConstants.d.ts.map +0 -1
  259. package/dist/esm/deprecated/components/Dropdown/dropdownConstants.js +0 -35
  260. package/dist/esm/deprecated/components/Dropdown/dropdownConstants.js.map +0 -1
  261. package/dist/esm/deprecated/components/Dropdown/index.d.ts +0 -13
  262. package/dist/esm/deprecated/components/Dropdown/index.d.ts.map +0 -1
  263. package/dist/esm/deprecated/components/Dropdown/index.js +0 -13
  264. package/dist/esm/deprecated/components/Dropdown/index.js.map +0 -1
  265. package/dist/esm/deprecated/components/OptionsMenu/OptionsMenu.d.ts +0 -48
  266. package/dist/esm/deprecated/components/OptionsMenu/OptionsMenu.d.ts.map +0 -1
  267. package/dist/esm/deprecated/components/OptionsMenu/OptionsMenu.js +0 -40
  268. package/dist/esm/deprecated/components/OptionsMenu/OptionsMenu.js.map +0 -1
  269. package/dist/esm/deprecated/components/OptionsMenu/OptionsMenuItem.d.ts +0 -17
  270. package/dist/esm/deprecated/components/OptionsMenu/OptionsMenuItem.d.ts.map +0 -1
  271. package/dist/esm/deprecated/components/OptionsMenu/OptionsMenuItem.js +0 -15
  272. package/dist/esm/deprecated/components/OptionsMenu/OptionsMenuItem.js.map +0 -1
  273. package/dist/esm/deprecated/components/OptionsMenu/OptionsMenuItemGroup.d.ts +0 -15
  274. package/dist/esm/deprecated/components/OptionsMenu/OptionsMenuItemGroup.d.ts.map +0 -1
  275. package/dist/esm/deprecated/components/OptionsMenu/OptionsMenuItemGroup.js +0 -15
  276. package/dist/esm/deprecated/components/OptionsMenu/OptionsMenuItemGroup.js.map +0 -1
  277. package/dist/esm/deprecated/components/OptionsMenu/OptionsMenuSeparator.d.ts +0 -4
  278. package/dist/esm/deprecated/components/OptionsMenu/OptionsMenuSeparator.d.ts.map +0 -1
  279. package/dist/esm/deprecated/components/OptionsMenu/OptionsMenuSeparator.js +0 -9
  280. package/dist/esm/deprecated/components/OptionsMenu/OptionsMenuSeparator.js.map +0 -1
  281. package/dist/esm/deprecated/components/OptionsMenu/OptionsMenuToggle.d.ts +0 -28
  282. package/dist/esm/deprecated/components/OptionsMenu/OptionsMenuToggle.d.ts.map +0 -1
  283. package/dist/esm/deprecated/components/OptionsMenu/OptionsMenuToggle.js +0 -15
  284. package/dist/esm/deprecated/components/OptionsMenu/OptionsMenuToggle.js.map +0 -1
  285. package/dist/esm/deprecated/components/OptionsMenu/OptionsMenuToggleWithText.d.ts +0 -37
  286. package/dist/esm/deprecated/components/OptionsMenu/OptionsMenuToggleWithText.d.ts.map +0 -1
  287. package/dist/esm/deprecated/components/OptionsMenu/OptionsMenuToggleWithText.js +0 -63
  288. package/dist/esm/deprecated/components/OptionsMenu/OptionsMenuToggleWithText.js.map +0 -1
  289. package/dist/esm/deprecated/components/OptionsMenu/index.d.ts +0 -7
  290. package/dist/esm/deprecated/components/OptionsMenu/index.d.ts.map +0 -1
  291. package/dist/esm/deprecated/components/OptionsMenu/index.js +0 -7
  292. package/dist/esm/deprecated/components/OptionsMenu/index.js.map +0 -1
  293. package/dist/esm/deprecated/components/PageHeader/PageHeader.d.ts +0 -29
  294. package/dist/esm/deprecated/components/PageHeader/PageHeader.d.ts.map +0 -1
  295. package/dist/esm/deprecated/components/PageHeader/PageHeader.js +0 -34
  296. package/dist/esm/deprecated/components/PageHeader/PageHeader.js.map +0 -1
  297. package/dist/esm/deprecated/components/PageHeader/PageHeaderTools.d.ts +0 -9
  298. package/dist/esm/deprecated/components/PageHeader/PageHeaderTools.d.ts.map +0 -1
  299. package/dist/esm/deprecated/components/PageHeader/PageHeaderTools.js +0 -10
  300. package/dist/esm/deprecated/components/PageHeader/PageHeaderTools.js.map +0 -1
  301. package/dist/esm/deprecated/components/PageHeader/PageHeaderToolsGroup.d.ts +0 -18
  302. package/dist/esm/deprecated/components/PageHeader/PageHeaderToolsGroup.d.ts.map +0 -1
  303. package/dist/esm/deprecated/components/PageHeader/PageHeaderToolsGroup.js +0 -13
  304. package/dist/esm/deprecated/components/PageHeader/PageHeaderToolsGroup.js.map +0 -1
  305. package/dist/esm/deprecated/components/PageHeader/PageHeaderToolsItem.d.ts +0 -20
  306. package/dist/esm/deprecated/components/PageHeader/PageHeaderToolsItem.d.ts.map +0 -1
  307. package/dist/esm/deprecated/components/PageHeader/PageHeaderToolsItem.js +0 -13
  308. package/dist/esm/deprecated/components/PageHeader/PageHeaderToolsItem.js.map +0 -1
  309. package/dist/esm/deprecated/components/PageHeader/index.d.ts +0 -5
  310. package/dist/esm/deprecated/components/PageHeader/index.d.ts.map +0 -1
  311. package/dist/esm/deprecated/components/PageHeader/index.js +0 -5
  312. package/dist/esm/deprecated/components/PageHeader/index.js.map +0 -1
  313. package/dist/esm/deprecated/components/Select/Select.d.ts +0 -200
  314. package/dist/esm/deprecated/components/Select/Select.d.ts.map +0 -1
  315. package/dist/esm/deprecated/components/Select/Select.js +0 -941
  316. package/dist/esm/deprecated/components/Select/Select.js.map +0 -1
  317. package/dist/esm/deprecated/components/Select/SelectGroup.d.ts +0 -13
  318. package/dist/esm/deprecated/components/Select/SelectGroup.d.ts.map +0 -1
  319. package/dist/esm/deprecated/components/Select/SelectGroup.js +0 -13
  320. package/dist/esm/deprecated/components/Select/SelectGroup.js.map +0 -1
  321. package/dist/esm/deprecated/components/Select/SelectMenu.d.ts +0 -47
  322. package/dist/esm/deprecated/components/Select/SelectMenu.d.ts.map +0 -1
  323. package/dist/esm/deprecated/components/Select/SelectMenu.js +0 -164
  324. package/dist/esm/deprecated/components/Select/SelectMenu.js.map +0 -1
  325. package/dist/esm/deprecated/components/Select/SelectOption.d.ts +0 -74
  326. package/dist/esm/deprecated/components/Select/SelectOption.d.ts.map +0 -1
  327. package/dist/esm/deprecated/components/Select/SelectOption.js +0 -197
  328. package/dist/esm/deprecated/components/Select/SelectOption.js.map +0 -1
  329. package/dist/esm/deprecated/components/Select/SelectToggle.d.ts +0 -57
  330. package/dist/esm/deprecated/components/Select/SelectToggle.d.ts.map +0 -1
  331. package/dist/esm/deprecated/components/Select/SelectToggle.js +0 -208
  332. package/dist/esm/deprecated/components/Select/SelectToggle.js.map +0 -1
  333. package/dist/esm/deprecated/components/Select/index.d.ts +0 -5
  334. package/dist/esm/deprecated/components/Select/index.d.ts.map +0 -1
  335. package/dist/esm/deprecated/components/Select/index.js +0 -5
  336. package/dist/esm/deprecated/components/Select/index.js.map +0 -1
  337. package/dist/esm/deprecated/components/Select/selectConstants.d.ts +0 -29
  338. package/dist/esm/deprecated/components/Select/selectConstants.d.ts.map +0 -1
  339. package/dist/esm/deprecated/components/Select/selectConstants.js +0 -23
  340. package/dist/esm/deprecated/components/Select/selectConstants.js.map +0 -1
  341. package/dist/esm/helpers/favorites.d.ts +0 -19
  342. package/dist/esm/helpers/favorites.d.ts.map +0 -1
  343. package/dist/esm/helpers/favorites.js +0 -64
  344. package/dist/esm/helpers/favorites.js.map +0 -1
  345. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncher.d.ts +0 -60
  346. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncher.d.ts.map +0 -1
  347. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncher.js +0 -102
  348. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncher.js.map +0 -1
  349. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherContent.d.ts +0 -7
  350. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherContent.d.ts.map +0 -1
  351. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherContent.js +0 -21
  352. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherContent.js.map +0 -1
  353. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherContext.d.ts +0 -5
  354. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherContext.d.ts.map +0 -1
  355. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherContext.js +0 -10
  356. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherContext.js.map +0 -1
  357. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherGroup.d.ts +0 -4
  358. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherGroup.d.ts.map +0 -1
  359. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherGroup.js +0 -13
  360. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherGroup.js.map +0 -1
  361. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherIcon.d.ts +0 -9
  362. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherIcon.d.ts.map +0 -1
  363. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherIcon.js +0 -16
  364. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherIcon.js.map +0 -1
  365. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherItem.d.ts +0 -31
  366. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherItem.d.ts.map +0 -1
  367. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherItem.js +0 -26
  368. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherItem.js.map +0 -1
  369. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherItemContext.d.ts +0 -6
  370. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherItemContext.d.ts.map +0 -1
  371. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherItemContext.js +0 -7
  372. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherItemContext.js.map +0 -1
  373. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherSeparator.d.ts +0 -4
  374. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherSeparator.d.ts.map +0 -1
  375. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherSeparator.js +0 -15
  376. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherSeparator.js.map +0 -1
  377. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherText.d.ts +0 -9
  378. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherText.d.ts.map +0 -1
  379. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherText.js +0 -14
  380. package/dist/js/deprecated/components/ApplicationLauncher/ApplicationLauncherText.js.map +0 -1
  381. package/dist/js/deprecated/components/ApplicationLauncher/index.d.ts +0 -10
  382. package/dist/js/deprecated/components/ApplicationLauncher/index.d.ts.map +0 -1
  383. package/dist/js/deprecated/components/ApplicationLauncher/index.js +0 -13
  384. package/dist/js/deprecated/components/ApplicationLauncher/index.js.map +0 -1
  385. package/dist/js/deprecated/components/ContextSelector/ContextSelector.d.ts +0 -75
  386. package/dist/js/deprecated/components/ContextSelector/ContextSelector.d.ts.map +0 -1
  387. package/dist/js/deprecated/components/ContextSelector/ContextSelector.js +0 -76
  388. package/dist/js/deprecated/components/ContextSelector/ContextSelector.js.map +0 -1
  389. package/dist/js/deprecated/components/ContextSelector/ContextSelectorFooter.d.ts +0 -9
  390. package/dist/js/deprecated/components/ContextSelector/ContextSelectorFooter.d.ts.map +0 -1
  391. package/dist/js/deprecated/components/ContextSelector/ContextSelectorFooter.js +0 -14
  392. package/dist/js/deprecated/components/ContextSelector/ContextSelectorFooter.js.map +0 -1
  393. package/dist/js/deprecated/components/ContextSelector/ContextSelectorItem.d.ts +0 -26
  394. package/dist/js/deprecated/components/ContextSelector/ContextSelectorItem.d.ts.map +0 -1
  395. package/dist/js/deprecated/components/ContextSelector/ContextSelectorItem.js +0 -43
  396. package/dist/js/deprecated/components/ContextSelector/ContextSelectorItem.js.map +0 -1
  397. package/dist/js/deprecated/components/ContextSelector/ContextSelectorMenuList.d.ts +0 -21
  398. package/dist/js/deprecated/components/ContextSelector/ContextSelectorMenuList.d.ts.map +0 -1
  399. package/dist/js/deprecated/components/ContextSelector/ContextSelectorMenuList.js +0 -36
  400. package/dist/js/deprecated/components/ContextSelector/ContextSelectorMenuList.js.map +0 -1
  401. package/dist/js/deprecated/components/ContextSelector/ContextSelectorToggle.d.ts +0 -39
  402. package/dist/js/deprecated/components/ContextSelector/ContextSelectorToggle.d.ts.map +0 -1
  403. package/dist/js/deprecated/components/ContextSelector/ContextSelectorToggle.js +0 -77
  404. package/dist/js/deprecated/components/ContextSelector/ContextSelectorToggle.js.map +0 -1
  405. package/dist/js/deprecated/components/ContextSelector/contextSelectorConstants.d.ts +0 -5
  406. package/dist/js/deprecated/components/ContextSelector/contextSelectorConstants.d.ts.map +0 -1
  407. package/dist/js/deprecated/components/ContextSelector/contextSelectorConstants.js +0 -10
  408. package/dist/js/deprecated/components/ContextSelector/contextSelectorConstants.js.map +0 -1
  409. package/dist/js/deprecated/components/ContextSelector/index.d.ts +0 -4
  410. package/dist/js/deprecated/components/ContextSelector/index.d.ts.map +0 -1
  411. package/dist/js/deprecated/components/ContextSelector/index.js +0 -7
  412. package/dist/js/deprecated/components/ContextSelector/index.js.map +0 -1
  413. package/dist/js/deprecated/components/Dropdown/BadgeToggle.d.ts +0 -35
  414. package/dist/js/deprecated/components/Dropdown/BadgeToggle.d.ts.map +0 -1
  415. package/dist/js/deprecated/components/Dropdown/BadgeToggle.js +0 -24
  416. package/dist/js/deprecated/components/Dropdown/BadgeToggle.js.map +0 -1
  417. package/dist/js/deprecated/components/Dropdown/Dropdown.d.ts +0 -66
  418. package/dist/js/deprecated/components/Dropdown/Dropdown.d.ts.map +0 -1
  419. package/dist/js/deprecated/components/Dropdown/Dropdown.js +0 -20
  420. package/dist/js/deprecated/components/Dropdown/Dropdown.js.map +0 -1
  421. package/dist/js/deprecated/components/Dropdown/DropdownGroup.d.ts +0 -11
  422. package/dist/js/deprecated/components/Dropdown/DropdownGroup.d.ts.map +0 -1
  423. package/dist/js/deprecated/components/Dropdown/DropdownGroup.js +0 -19
  424. package/dist/js/deprecated/components/Dropdown/DropdownGroup.js.map +0 -1
  425. package/dist/js/deprecated/components/Dropdown/DropdownItem.d.ts +0 -52
  426. package/dist/js/deprecated/components/Dropdown/DropdownItem.d.ts.map +0 -1
  427. package/dist/js/deprecated/components/Dropdown/DropdownItem.js +0 -19
  428. package/dist/js/deprecated/components/Dropdown/DropdownItem.js.map +0 -1
  429. package/dist/js/deprecated/components/Dropdown/DropdownMenu.d.ts +0 -53
  430. package/dist/js/deprecated/components/Dropdown/DropdownMenu.d.ts.map +0 -1
  431. package/dist/js/deprecated/components/Dropdown/DropdownMenu.js +0 -134
  432. package/dist/js/deprecated/components/Dropdown/DropdownMenu.js.map +0 -1
  433. package/dist/js/deprecated/components/Dropdown/DropdownSeparator.d.ts +0 -14
  434. package/dist/js/deprecated/components/Dropdown/DropdownSeparator.d.ts.map +0 -1
  435. package/dist/js/deprecated/components/Dropdown/DropdownSeparator.js +0 -20
  436. package/dist/js/deprecated/components/Dropdown/DropdownSeparator.js.map +0 -1
  437. package/dist/js/deprecated/components/Dropdown/DropdownToggle.d.ts +0 -50
  438. package/dist/js/deprecated/components/Dropdown/DropdownToggle.d.ts.map +0 -1
  439. package/dist/js/deprecated/components/Dropdown/DropdownToggle.js +0 -36
  440. package/dist/js/deprecated/components/Dropdown/DropdownToggle.js.map +0 -1
  441. package/dist/js/deprecated/components/Dropdown/DropdownToggleAction.d.ts +0 -22
  442. package/dist/js/deprecated/components/Dropdown/DropdownToggleAction.d.ts.map +0 -1
  443. package/dist/js/deprecated/components/Dropdown/DropdownToggleAction.js +0 -21
  444. package/dist/js/deprecated/components/Dropdown/DropdownToggleAction.js.map +0 -1
  445. package/dist/js/deprecated/components/Dropdown/DropdownToggleCheckbox.d.ts +0 -45
  446. package/dist/js/deprecated/components/Dropdown/DropdownToggleCheckbox.d.ts.map +0 -1
  447. package/dist/js/deprecated/components/Dropdown/DropdownToggleCheckbox.js +0 -54
  448. package/dist/js/deprecated/components/Dropdown/DropdownToggleCheckbox.js.map +0 -1
  449. package/dist/js/deprecated/components/Dropdown/DropdownWithContext.d.ts +0 -20
  450. package/dist/js/deprecated/components/Dropdown/DropdownWithContext.d.ts.map +0 -1
  451. package/dist/js/deprecated/components/Dropdown/DropdownWithContext.js +0 -102
  452. package/dist/js/deprecated/components/Dropdown/DropdownWithContext.js.map +0 -1
  453. package/dist/js/deprecated/components/Dropdown/InternalDropdownItem.d.ts +0 -67
  454. package/dist/js/deprecated/components/Dropdown/InternalDropdownItem.d.ts.map +0 -1
  455. package/dist/js/deprecated/components/Dropdown/InternalDropdownItem.js +0 -152
  456. package/dist/js/deprecated/components/Dropdown/InternalDropdownItem.js.map +0 -1
  457. package/dist/js/deprecated/components/Dropdown/KebabToggle.d.ts +0 -32
  458. package/dist/js/deprecated/components/Dropdown/KebabToggle.d.ts.map +0 -1
  459. package/dist/js/deprecated/components/Dropdown/KebabToggle.js +0 -20
  460. package/dist/js/deprecated/components/Dropdown/KebabToggle.js.map +0 -1
  461. package/dist/js/deprecated/components/Dropdown/Toggle.d.ts +0 -51
  462. package/dist/js/deprecated/components/Dropdown/Toggle.d.ts.map +0 -1
  463. package/dist/js/deprecated/components/Dropdown/Toggle.js +0 -96
  464. package/dist/js/deprecated/components/Dropdown/Toggle.js.map +0 -1
  465. package/dist/js/deprecated/components/Dropdown/dropdownConstants.d.ts +0 -41
  466. package/dist/js/deprecated/components/Dropdown/dropdownConstants.d.ts.map +0 -1
  467. package/dist/js/deprecated/components/Dropdown/dropdownConstants.js +0 -39
  468. package/dist/js/deprecated/components/Dropdown/dropdownConstants.js.map +0 -1
  469. package/dist/js/deprecated/components/Dropdown/index.d.ts +0 -13
  470. package/dist/js/deprecated/components/Dropdown/index.d.ts.map +0 -1
  471. package/dist/js/deprecated/components/Dropdown/index.js +0 -16
  472. package/dist/js/deprecated/components/Dropdown/index.js.map +0 -1
  473. package/dist/js/deprecated/components/OptionsMenu/OptionsMenu.d.ts +0 -48
  474. package/dist/js/deprecated/components/OptionsMenu/OptionsMenu.d.ts.map +0 -1
  475. package/dist/js/deprecated/components/OptionsMenu/OptionsMenu.js +0 -44
  476. package/dist/js/deprecated/components/OptionsMenu/OptionsMenu.js.map +0 -1
  477. package/dist/js/deprecated/components/OptionsMenu/OptionsMenuItem.d.ts +0 -17
  478. package/dist/js/deprecated/components/OptionsMenu/OptionsMenuItem.d.ts.map +0 -1
  479. package/dist/js/deprecated/components/OptionsMenu/OptionsMenuItem.js +0 -19
  480. package/dist/js/deprecated/components/OptionsMenu/OptionsMenuItem.js.map +0 -1
  481. package/dist/js/deprecated/components/OptionsMenu/OptionsMenuItemGroup.d.ts +0 -15
  482. package/dist/js/deprecated/components/OptionsMenu/OptionsMenuItemGroup.d.ts.map +0 -1
  483. package/dist/js/deprecated/components/OptionsMenu/OptionsMenuItemGroup.js +0 -19
  484. package/dist/js/deprecated/components/OptionsMenu/OptionsMenuItemGroup.js.map +0 -1
  485. package/dist/js/deprecated/components/OptionsMenu/OptionsMenuSeparator.d.ts +0 -4
  486. package/dist/js/deprecated/components/OptionsMenu/OptionsMenuSeparator.d.ts.map +0 -1
  487. package/dist/js/deprecated/components/OptionsMenu/OptionsMenuSeparator.js +0 -13
  488. package/dist/js/deprecated/components/OptionsMenu/OptionsMenuSeparator.js.map +0 -1
  489. package/dist/js/deprecated/components/OptionsMenu/OptionsMenuToggle.d.ts +0 -28
  490. package/dist/js/deprecated/components/OptionsMenu/OptionsMenuToggle.d.ts.map +0 -1
  491. package/dist/js/deprecated/components/OptionsMenu/OptionsMenuToggle.js +0 -19
  492. package/dist/js/deprecated/components/OptionsMenu/OptionsMenuToggle.js.map +0 -1
  493. package/dist/js/deprecated/components/OptionsMenu/OptionsMenuToggleWithText.d.ts +0 -37
  494. package/dist/js/deprecated/components/OptionsMenu/OptionsMenuToggleWithText.d.ts.map +0 -1
  495. package/dist/js/deprecated/components/OptionsMenu/OptionsMenuToggleWithText.js +0 -67
  496. package/dist/js/deprecated/components/OptionsMenu/OptionsMenuToggleWithText.js.map +0 -1
  497. package/dist/js/deprecated/components/OptionsMenu/index.d.ts +0 -7
  498. package/dist/js/deprecated/components/OptionsMenu/index.d.ts.map +0 -1
  499. package/dist/js/deprecated/components/OptionsMenu/index.js +0 -10
  500. package/dist/js/deprecated/components/OptionsMenu/index.js.map +0 -1
  501. package/dist/js/deprecated/components/PageHeader/PageHeader.d.ts +0 -29
  502. package/dist/js/deprecated/components/PageHeader/PageHeader.d.ts.map +0 -1
  503. package/dist/js/deprecated/components/PageHeader/PageHeader.js +0 -38
  504. package/dist/js/deprecated/components/PageHeader/PageHeader.js.map +0 -1
  505. package/dist/js/deprecated/components/PageHeader/PageHeaderTools.d.ts +0 -9
  506. package/dist/js/deprecated/components/PageHeader/PageHeaderTools.d.ts.map +0 -1
  507. package/dist/js/deprecated/components/PageHeader/PageHeaderTools.js +0 -14
  508. package/dist/js/deprecated/components/PageHeader/PageHeaderTools.js.map +0 -1
  509. package/dist/js/deprecated/components/PageHeader/PageHeaderToolsGroup.d.ts +0 -18
  510. package/dist/js/deprecated/components/PageHeader/PageHeaderToolsGroup.d.ts.map +0 -1
  511. package/dist/js/deprecated/components/PageHeader/PageHeaderToolsGroup.js +0 -17
  512. package/dist/js/deprecated/components/PageHeader/PageHeaderToolsGroup.js.map +0 -1
  513. package/dist/js/deprecated/components/PageHeader/PageHeaderToolsItem.d.ts +0 -20
  514. package/dist/js/deprecated/components/PageHeader/PageHeaderToolsItem.d.ts.map +0 -1
  515. package/dist/js/deprecated/components/PageHeader/PageHeaderToolsItem.js +0 -17
  516. package/dist/js/deprecated/components/PageHeader/PageHeaderToolsItem.js.map +0 -1
  517. package/dist/js/deprecated/components/PageHeader/index.d.ts +0 -5
  518. package/dist/js/deprecated/components/PageHeader/index.d.ts.map +0 -1
  519. package/dist/js/deprecated/components/PageHeader/index.js +0 -8
  520. package/dist/js/deprecated/components/PageHeader/index.js.map +0 -1
  521. package/dist/js/deprecated/components/Select/Select.d.ts +0 -200
  522. package/dist/js/deprecated/components/Select/Select.d.ts.map +0 -1
  523. package/dist/js/deprecated/components/Select/Select.js +0 -944
  524. package/dist/js/deprecated/components/Select/Select.js.map +0 -1
  525. package/dist/js/deprecated/components/Select/SelectGroup.d.ts +0 -13
  526. package/dist/js/deprecated/components/Select/SelectGroup.d.ts.map +0 -1
  527. package/dist/js/deprecated/components/Select/SelectGroup.js +0 -17
  528. package/dist/js/deprecated/components/Select/SelectGroup.js.map +0 -1
  529. package/dist/js/deprecated/components/Select/SelectMenu.d.ts +0 -47
  530. package/dist/js/deprecated/components/Select/SelectMenu.d.ts.map +0 -1
  531. package/dist/js/deprecated/components/Select/SelectMenu.js +0 -167
  532. package/dist/js/deprecated/components/Select/SelectMenu.js.map +0 -1
  533. package/dist/js/deprecated/components/Select/SelectOption.d.ts +0 -74
  534. package/dist/js/deprecated/components/Select/SelectOption.d.ts.map +0 -1
  535. package/dist/js/deprecated/components/Select/SelectOption.js +0 -200
  536. package/dist/js/deprecated/components/Select/SelectOption.js.map +0 -1
  537. package/dist/js/deprecated/components/Select/SelectToggle.d.ts +0 -57
  538. package/dist/js/deprecated/components/Select/SelectToggle.d.ts.map +0 -1
  539. package/dist/js/deprecated/components/Select/SelectToggle.js +0 -211
  540. package/dist/js/deprecated/components/Select/SelectToggle.js.map +0 -1
  541. package/dist/js/deprecated/components/Select/index.d.ts +0 -5
  542. package/dist/js/deprecated/components/Select/index.d.ts.map +0 -1
  543. package/dist/js/deprecated/components/Select/index.js +0 -8
  544. package/dist/js/deprecated/components/Select/index.js.map +0 -1
  545. package/dist/js/deprecated/components/Select/selectConstants.d.ts +0 -29
  546. package/dist/js/deprecated/components/Select/selectConstants.d.ts.map +0 -1
  547. package/dist/js/deprecated/components/Select/selectConstants.js +0 -27
  548. package/dist/js/deprecated/components/Select/selectConstants.js.map +0 -1
  549. package/dist/js/helpers/favorites.d.ts +0 -19
  550. package/dist/js/helpers/favorites.d.ts.map +0 -1
  551. package/dist/js/helpers/favorites.js +0 -70
  552. package/dist/js/helpers/favorites.js.map +0 -1
  553. package/src/deprecated/components/ApplicationLauncher/ApplicationLauncher.tsx +0 -208
  554. package/src/deprecated/components/ApplicationLauncher/ApplicationLauncherContent.tsx +0 -34
  555. package/src/deprecated/components/ApplicationLauncher/ApplicationLauncherContext.ts +0 -6
  556. package/src/deprecated/components/ApplicationLauncher/ApplicationLauncherGroup.tsx +0 -8
  557. package/src/deprecated/components/ApplicationLauncher/ApplicationLauncherIcon.tsx +0 -22
  558. package/src/deprecated/components/ApplicationLauncher/ApplicationLauncherItem.tsx +0 -94
  559. package/src/deprecated/components/ApplicationLauncher/ApplicationLauncherItemContext.ts +0 -3
  560. package/src/deprecated/components/ApplicationLauncher/ApplicationLauncherSeparator.tsx +0 -9
  561. package/src/deprecated/components/ApplicationLauncher/ApplicationLauncherText.tsx +0 -21
  562. package/src/deprecated/components/ApplicationLauncher/__tests__/ApplicationLauncher.test.tsx +0 -72
  563. package/src/deprecated/components/ApplicationLauncher/__tests__/Generated/ApplicationLauncherContent.test.tsx +0 -13
  564. package/src/deprecated/components/ApplicationLauncher/__tests__/Generated/ApplicationLauncherGroup.test.tsx +0 -13
  565. package/src/deprecated/components/ApplicationLauncher/__tests__/Generated/ApplicationLauncherIcon.test.tsx +0 -13
  566. package/src/deprecated/components/ApplicationLauncher/__tests__/Generated/ApplicationLauncherSeparator.test.tsx +0 -16
  567. package/src/deprecated/components/ApplicationLauncher/__tests__/Generated/ApplicationLauncherText.test.tsx +0 -13
  568. package/src/deprecated/components/ApplicationLauncher/__tests__/Generated/__snapshots__/ApplicationLauncherContent.test.tsx.snap +0 -9
  569. package/src/deprecated/components/ApplicationLauncher/__tests__/Generated/__snapshots__/ApplicationLauncherGroup.test.tsx.snap +0 -13
  570. package/src/deprecated/components/ApplicationLauncher/__tests__/Generated/__snapshots__/ApplicationLauncherIcon.test.tsx.snap +0 -13
  571. package/src/deprecated/components/ApplicationLauncher/__tests__/Generated/__snapshots__/ApplicationLauncherSeparator.test.tsx.snap +0 -14
  572. package/src/deprecated/components/ApplicationLauncher/__tests__/Generated/__snapshots__/ApplicationLauncherText.test.tsx.snap +0 -13
  573. package/src/deprecated/components/ApplicationLauncher/__tests__/__snapshots__/ApplicationLauncher.test.tsx.snap +0 -597
  574. package/src/deprecated/components/ApplicationLauncher/examples/ApplicationLauncher.md +0 -79
  575. package/src/deprecated/components/ApplicationLauncher/examples/ApplicationLauncherAlignRight.tsx +0 -33
  576. package/src/deprecated/components/ApplicationLauncher/examples/ApplicationLauncherAlignTop.tsx +0 -31
  577. package/src/deprecated/components/ApplicationLauncher/examples/ApplicationLauncherBasic.tsx +0 -23
  578. package/src/deprecated/components/ApplicationLauncher/examples/ApplicationLauncherCustomIcon.tsx +0 -32
  579. package/src/deprecated/components/ApplicationLauncher/examples/ApplicationLauncherDisabled.tsx +0 -25
  580. package/src/deprecated/components/ApplicationLauncher/examples/ApplicationLauncherDocumentBody.tsx +0 -31
  581. package/src/deprecated/components/ApplicationLauncher/examples/ApplicationLauncherFavoritesAndSearch.tsx +0 -108
  582. package/src/deprecated/components/ApplicationLauncher/examples/ApplicationLauncherRouterLink.tsx +0 -56
  583. package/src/deprecated/components/ApplicationLauncher/examples/ApplicationLauncherSectionsAndIcons.tsx +0 -47
  584. package/src/deprecated/components/ApplicationLauncher/examples/ApplicationLauncherTooltip.tsx +0 -35
  585. package/src/deprecated/components/ApplicationLauncher/index.ts +0 -9
  586. package/src/deprecated/components/ContextSelector/ContextSelector.tsx +0 -231
  587. package/src/deprecated/components/ContextSelector/ContextSelectorFooter.tsx +0 -21
  588. package/src/deprecated/components/ContextSelector/ContextSelectorItem.tsx +0 -78
  589. package/src/deprecated/components/ContextSelector/ContextSelectorMenuList.tsx +0 -51
  590. package/src/deprecated/components/ContextSelector/ContextSelectorToggle.tsx +0 -132
  591. package/src/deprecated/components/ContextSelector/__tests__/ContextSelector.test.tsx +0 -54
  592. package/src/deprecated/components/ContextSelector/__tests__/ContextSelectorFooter.test.tsx +0 -8
  593. package/src/deprecated/components/ContextSelector/__tests__/ContextSelectorItem.test.tsx +0 -38
  594. package/src/deprecated/components/ContextSelector/__tests__/ContextSelectorMenuList.test.tsx +0 -22
  595. package/src/deprecated/components/ContextSelector/__tests__/ContextSelectorToggle.test.tsx +0 -60
  596. package/src/deprecated/components/ContextSelector/__tests__/__snapshots__/ContextSelector.test.tsx.snap +0 -411
  597. package/src/deprecated/components/ContextSelector/__tests__/__snapshots__/ContextSelectorFooter.test.tsx.snap +0 -11
  598. package/src/deprecated/components/ContextSelector/__tests__/__snapshots__/ContextSelectorItem.test.tsx.snap +0 -30
  599. package/src/deprecated/components/ContextSelector/__tests__/__snapshots__/ContextSelectorMenuList.test.tsx.snap +0 -123
  600. package/src/deprecated/components/ContextSelector/__tests__/__snapshots__/ContextSelectorToggle.test.tsx.snap +0 -161
  601. package/src/deprecated/components/ContextSelector/contextSelectorConstants.tsx +0 -6
  602. package/src/deprecated/components/ContextSelector/examples/ContextSelector.md +0 -25
  603. package/src/deprecated/components/ContextSelector/examples/ContextSelectorBasic.tsx +0 -85
  604. package/src/deprecated/components/ContextSelector/examples/ContextSelectorPlainText.tsx +0 -85
  605. package/src/deprecated/components/ContextSelector/examples/ContextSelectorWithFooter.tsx +0 -92
  606. package/src/deprecated/components/ContextSelector/index.ts +0 -3
  607. package/src/deprecated/components/Dropdown/BadgeToggle.tsx +0 -83
  608. package/src/deprecated/components/Dropdown/Dropdown.tsx +0 -115
  609. package/src/deprecated/components/Dropdown/DropdownGroup.tsx +0 -36
  610. package/src/deprecated/components/Dropdown/DropdownItem.tsx +0 -113
  611. package/src/deprecated/components/Dropdown/DropdownMenu.tsx +0 -254
  612. package/src/deprecated/components/Dropdown/DropdownSeparator.tsx +0 -42
  613. package/src/deprecated/components/Dropdown/DropdownToggle.tsx +0 -138
  614. package/src/deprecated/components/Dropdown/DropdownToggleAction.tsx +0 -46
  615. package/src/deprecated/components/Dropdown/DropdownToggleCheckbox.tsx +0 -130
  616. package/src/deprecated/components/Dropdown/DropdownWithContext.tsx +0 -193
  617. package/src/deprecated/components/Dropdown/InternalDropdownItem.tsx +0 -292
  618. package/src/deprecated/components/Dropdown/KebabToggle.tsx +0 -73
  619. package/src/deprecated/components/Dropdown/Toggle.tsx +0 -183
  620. package/src/deprecated/components/Dropdown/__tests__/Dropdown.test.tsx +0 -278
  621. package/src/deprecated/components/Dropdown/__tests__/DropdownGroup.test.tsx +0 -10
  622. package/src/deprecated/components/Dropdown/__tests__/DropdownToggle.test.tsx +0 -223
  623. package/src/deprecated/components/Dropdown/__tests__/DropdownToggleAction.test.tsx +0 -31
  624. package/src/deprecated/components/Dropdown/__tests__/DropdownToggleCheckbox.test.tsx +0 -65
  625. package/src/deprecated/components/Dropdown/__tests__/Generated/DropdownItem.test.tsx +0 -31
  626. package/src/deprecated/components/Dropdown/__tests__/Generated/DropdownMenu.test.tsx +0 -23
  627. package/src/deprecated/components/Dropdown/__tests__/Generated/DropdownSeparator.test.tsx +0 -17
  628. package/src/deprecated/components/Dropdown/__tests__/Generated/KebabToggle.test.tsx +0 -28
  629. package/src/deprecated/components/Dropdown/__tests__/Generated/__snapshots__/DropdownItem.test.tsx.snap +0 -9
  630. package/src/deprecated/components/Dropdown/__tests__/Generated/__snapshots__/DropdownMenu.test.tsx.snap +0 -16
  631. package/src/deprecated/components/Dropdown/__tests__/Generated/__snapshots__/DropdownSeparator.test.tsx.snap +0 -14
  632. package/src/deprecated/components/Dropdown/__tests__/Generated/__snapshots__/KebabToggle.test.tsx.snap +0 -27
  633. package/src/deprecated/components/Dropdown/__tests__/InternalDropdownItem.test.tsx +0 -83
  634. package/src/deprecated/components/Dropdown/__tests__/Toggle.test.tsx +0 -13
  635. package/src/deprecated/components/Dropdown/__tests__/__snapshots__/Dropdown.test.tsx.snap +0 -978
  636. package/src/deprecated/components/Dropdown/__tests__/__snapshots__/DropdownGroup.test.tsx.snap +0 -21
  637. package/src/deprecated/components/Dropdown/__tests__/__snapshots__/DropdownToggle.test.tsx.snap +0 -350
  638. package/src/deprecated/components/Dropdown/__tests__/__snapshots__/DropdownToggleAction.test.tsx.snap +0 -33
  639. package/src/deprecated/components/Dropdown/__tests__/__snapshots__/DropdownToggleCheckbox.test.tsx.snap +0 -149
  640. package/src/deprecated/components/Dropdown/__tests__/__snapshots__/InternalDropdownItem.test.tsx.snap +0 -178
  641. package/src/deprecated/components/Dropdown/__tests__/__snapshots__/Toggle.test.tsx.snap +0 -64
  642. package/src/deprecated/components/Dropdown/dropdownConstants.tsx +0 -64
  643. package/src/deprecated/components/Dropdown/examples/Dropdown.md +0 -213
  644. package/src/deprecated/components/Dropdown/examples/DropdownAlignmentOnBreakpoints.tsx +0 -64
  645. package/src/deprecated/components/Dropdown/examples/DropdownAppendBodyVsParent.tsx +0 -84
  646. package/src/deprecated/components/Dropdown/examples/DropdownBadge.tsx +0 -46
  647. package/src/deprecated/components/Dropdown/examples/DropdownBasic.tsx +0 -59
  648. package/src/deprecated/components/Dropdown/examples/DropdownBasicPanel.tsx +0 -34
  649. package/src/deprecated/components/Dropdown/examples/DropdownDescriptions.tsx +0 -55
  650. package/src/deprecated/components/Dropdown/examples/DropdownDirectionUp.tsx +0 -64
  651. package/src/deprecated/components/Dropdown/examples/DropdownDisabled.tsx +0 -57
  652. package/src/deprecated/components/Dropdown/examples/DropdownGroups.tsx +0 -55
  653. package/src/deprecated/components/Dropdown/examples/DropdownIconOnly.tsx +0 -59
  654. package/src/deprecated/components/Dropdown/examples/DropdownImageAndText.tsx +0 -64
  655. package/src/deprecated/components/Dropdown/examples/DropdownInitialSelection.tsx +0 -57
  656. package/src/deprecated/components/Dropdown/examples/DropdownKebab.tsx +0 -54
  657. package/src/deprecated/components/Dropdown/examples/DropdownPlainTextToggle.tsx +0 -59
  658. package/src/deprecated/components/Dropdown/examples/DropdownPositionRight.tsx +0 -64
  659. package/src/deprecated/components/Dropdown/examples/DropdownPrimaryToggle.tsx +0 -57
  660. package/src/deprecated/components/Dropdown/examples/DropdownRouterLink.tsx +0 -36
  661. package/src/deprecated/components/Dropdown/examples/DropdownSecondaryToggle.tsx +0 -57
  662. package/src/deprecated/components/Dropdown/examples/DropdownSplitButton.tsx +0 -67
  663. package/src/deprecated/components/Dropdown/examples/DropdownSplitButtonAction.tsx +0 -105
  664. package/src/deprecated/components/Dropdown/examples/DropdownSplitButtonActionPrimary.tsx +0 -107
  665. package/src/deprecated/components/Dropdown/examples/DropdownSplitButtonActionSecondary.tsx +0 -107
  666. package/src/deprecated/components/Dropdown/examples/DropdownSplitButtonDisabled.tsx +0 -73
  667. package/src/deprecated/components/Dropdown/examples/DropdownSplitButtonProgressCheckbox.tsx +0 -140
  668. package/src/deprecated/components/Dropdown/examples/DropdownSplitButtonText.tsx +0 -69
  669. package/src/deprecated/components/Dropdown/index.ts +0 -12
  670. package/src/deprecated/components/OptionsMenu/OptionsMenu.tsx +0 -99
  671. package/src/deprecated/components/OptionsMenu/OptionsMenuItem.tsx +0 -47
  672. package/src/deprecated/components/OptionsMenu/OptionsMenuItemGroup.tsx +0 -35
  673. package/src/deprecated/components/OptionsMenu/OptionsMenuSeparator.tsx +0 -8
  674. package/src/deprecated/components/OptionsMenu/OptionsMenuToggle.tsx +0 -67
  675. package/src/deprecated/components/OptionsMenu/OptionsMenuToggleWithText.tsx +0 -146
  676. package/src/deprecated/components/OptionsMenu/__tests__/Generated/OptionsMenuItem.test.tsx +0 -24
  677. package/src/deprecated/components/OptionsMenu/__tests__/Generated/OptionsMenuItemGroup.test.tsx +0 -21
  678. package/src/deprecated/components/OptionsMenu/__tests__/Generated/OptionsMenuSeparator.test.tsx +0 -13
  679. package/src/deprecated/components/OptionsMenu/__tests__/Generated/OptionsMenuToggle.test.tsx +0 -28
  680. package/src/deprecated/components/OptionsMenu/__tests__/Generated/OptionsMenuToggleWithText.test.tsx +0 -28
  681. package/src/deprecated/components/OptionsMenu/__tests__/Generated/__snapshots__/OptionsMenuItem.test.tsx.snap +0 -24
  682. package/src/deprecated/components/OptionsMenu/__tests__/Generated/__snapshots__/OptionsMenuItemGroup.test.tsx.snap +0 -18
  683. package/src/deprecated/components/OptionsMenu/__tests__/Generated/__snapshots__/OptionsMenuSeparator.test.tsx.snap +0 -10
  684. package/src/deprecated/components/OptionsMenu/__tests__/Generated/__snapshots__/OptionsMenuToggle.test.tsx.snap +0 -42
  685. package/src/deprecated/components/OptionsMenu/__tests__/Generated/__snapshots__/OptionsMenuToggleWithText.test.tsx.snap +0 -32
  686. package/src/deprecated/components/OptionsMenu/__tests__/OptionsMenu.test.tsx +0 -134
  687. package/src/deprecated/components/OptionsMenu/__tests__/__snapshots__/OptionsMenu.test.tsx.snap +0 -681
  688. package/src/deprecated/components/OptionsMenu/examples/OptionsMenu.md +0 -574
  689. package/src/deprecated/components/OptionsMenu/index.ts +0 -6
  690. package/src/deprecated/components/PageHeader/PageHeader.tsx +0 -103
  691. package/src/deprecated/components/PageHeader/PageHeaderTools.tsx +0 -21
  692. package/src/deprecated/components/PageHeader/PageHeaderToolsGroup.tsx +0 -43
  693. package/src/deprecated/components/PageHeader/PageHeaderToolsItem.tsx +0 -47
  694. package/src/deprecated/components/PageHeader/examples/PageHeader.md +0 -19
  695. package/src/deprecated/components/PageHeader/examples/PageVerticalNavUsingPageHeaderComponent.tsx +0 -42
  696. package/src/deprecated/components/PageHeader/index.ts +0 -4
  697. package/src/deprecated/components/PageHeader/tests/PageHeader.test.tsx +0 -30
  698. package/src/deprecated/components/PageHeader/tests/PageHeaderTools.test.tsx +0 -17
  699. package/src/deprecated/components/PageHeader/tests/PageHeaderToolsGroup.test.tsx +0 -17
  700. package/src/deprecated/components/PageHeader/tests/PageHeaderToolsItem.test.tsx +0 -15
  701. package/src/deprecated/components/PageHeader/tests/__snapshots__/PageHeader.test.tsx.snap +0 -59
  702. package/src/deprecated/components/PageHeader/tests/__snapshots__/PageHeaderTools.test.tsx.snap +0 -13
  703. package/src/deprecated/components/PageHeader/tests/__snapshots__/PageHeaderToolsGroup.test.tsx.snap +0 -13
  704. package/src/deprecated/components/PageHeader/tests/__snapshots__/PageHeaderToolsItem.test.tsx.snap +0 -14
  705. package/src/deprecated/components/Select/Select.tsx +0 -1495
  706. package/src/deprecated/components/Select/SelectGroup.tsx +0 -36
  707. package/src/deprecated/components/Select/SelectMenu.tsx +0 -276
  708. package/src/deprecated/components/Select/SelectOption.tsx +0 -463
  709. package/src/deprecated/components/Select/SelectToggle.tsx +0 -367
  710. package/src/deprecated/components/Select/__tests__/Select.test.tsx +0 -589
  711. package/src/deprecated/components/Select/__tests__/SelectGroup.test.tsx +0 -28
  712. package/src/deprecated/components/Select/__tests__/SelectOption.test.tsx +0 -246
  713. package/src/deprecated/components/Select/__tests__/SelectToggle.test.tsx +0 -92
  714. package/src/deprecated/components/Select/__tests__/__snapshots__/Select.test.tsx.snap +0 -2415
  715. package/src/deprecated/components/Select/__tests__/__snapshots__/SelectGroup.test.tsx.snap +0 -24
  716. package/src/deprecated/components/Select/__tests__/__snapshots__/SelectOption.test.tsx.snap +0 -234
  717. package/src/deprecated/components/Select/__tests__/__snapshots__/SelectToggle.test.tsx.snap +0 -34
  718. package/src/deprecated/components/Select/examples/Select.md +0 -2938
  719. package/src/deprecated/components/Select/index.ts +0 -4
  720. package/src/deprecated/components/Select/selectConstants.tsx +0 -39
  721. package/src/helpers/favorites.ts +0 -81
@@ -1,2938 +0,0 @@
1
- ---
2
- id: Select
3
- section: components
4
- subsection: menus
5
- cssPrefix: pf-v5-c-select
6
- propComponents: ['Select', 'SelectOption', 'SelectGroup', 'SelectOptionObject', 'SelectViewMoreObject']
7
- ouia: true
8
- deprecated: true
9
- ---
10
-
11
- import CubeIcon from '@patternfly/react-icons/dist/esm/icons/cube-icon';
12
-
13
- ## Examples
14
-
15
- ### Single select
16
-
17
- To let users select a single item from a list, use a single select list.
18
-
19
- A select list may use other properties for additional customization. Select each checkbox in the example below to visualize the following behavior:
20
-
21
- - To prevent a toggle click from opening a select list, use the `isDisabled` property.
22
- - To adjust the direction a select menu opens, use the `direction` property. The menu in the following example expands upwards. By default, select lists open upwards.
23
- - To add an icon to a select toggle, use the `toggleIcon` property.
24
-
25
- ```js
26
- import React from 'react';
27
- import CubeIcon from '@patternfly/react-icons/dist/esm/icons/cube-icon';
28
- import { Checkbox, Divider } from '@patternfly/react-core';
29
- import { Select, SelectOption, SelectVariant, SelectDirection } from '@patternfly/react-core/deprecated';
30
-
31
- class SingleSelectInput extends React.Component {
32
- constructor(props) {
33
- super(props);
34
- this.options = [
35
- <SelectOption key={0} value="Select a title" isPlaceholder />,
36
- <SelectOption key={1} value="Mr" />,
37
- <SelectOption key={2} value="Miss" />,
38
- <SelectOption key={3} value="Mrs" />,
39
- <SelectOption key={4} value="Ms" />,
40
- <Divider component="li" key={5} />,
41
- <SelectOption key={6} value="Dr" />,
42
- <SelectOption key={7} value="Other" />
43
- ];
44
-
45
- this.toggleRef = React.createRef();
46
-
47
- this.state = {
48
- isToggleIcon: false,
49
- isOpen: false,
50
- selected: null,
51
- isDisabled: false,
52
- direction: SelectDirection.down
53
- };
54
-
55
- this.onToggle = (_event, isOpen) => {
56
- this.setState({
57
- isOpen
58
- });
59
- };
60
-
61
- this.onSelect = (event, selection, isPlaceholder) => {
62
- if (isPlaceholder) this.clearSelection();
63
- else {
64
- this.setState({
65
- selected: selection,
66
- isOpen: false
67
- });
68
- console.log('selected:', selection);
69
- this.toggleRef.current.focus();
70
- }
71
- };
72
-
73
- this.clearSelection = () => {
74
- this.setState({
75
- selected: null,
76
- isOpen: false
77
- });
78
- };
79
-
80
- this.toggleDisabled = checked => {
81
- this.setState({
82
- isDisabled: checked
83
- });
84
- };
85
-
86
- this.setIcon = checked => {
87
- this.setState({
88
- isToggleIcon: checked
89
- });
90
- };
91
-
92
- this.toggleDirection = () => {
93
- if (this.state.direction === SelectDirection.up) {
94
- this.setState({
95
- direction: SelectDirection.down
96
- });
97
- } else {
98
- this.setState({
99
- direction: SelectDirection.up
100
- });
101
- }
102
- };
103
- }
104
-
105
- render() {
106
- const { isOpen, selected, isDisabled, direction, isToggleIcon } = this.state;
107
- const titleId = 'title-id-1';
108
- return (
109
- <div>
110
- <span id={titleId} hidden>
111
- Title
112
- </span>
113
- <Select
114
- toggleRef={this.toggleRef}
115
- toggleIcon={isToggleIcon && <CubeIcon />}
116
- variant={SelectVariant.single}
117
- aria-label="Select Input"
118
- onToggle={this.onToggle}
119
- onSelect={this.onSelect}
120
- selections={selected}
121
- isOpen={isOpen}
122
- aria-labelledby={titleId}
123
- isDisabled={isDisabled}
124
- direction={direction}
125
- ouiaId="SingleSelect"
126
- >
127
- {this.options}
128
- </Select>
129
- <Checkbox
130
- label="isDisabled"
131
- isChecked={this.state.isDisabled}
132
- onChange={(_event, checked) => this.toggleDisabled(checked)}
133
- aria-label="disabled checkbox"
134
- id="toggle-disabled"
135
- name="toggle-disabled"
136
- />
137
- <Checkbox
138
- label="Expands up"
139
- isChecked={direction === SelectDirection.up}
140
- onChange={this.toggleDirection}
141
- aria-label="direction checkbox"
142
- id="toggle-direction"
143
- name="toggle-direction"
144
- />
145
- <Checkbox
146
- label="Show icon"
147
- isChecked={isToggleIcon}
148
- onChange={(_event, checked) => this.setIcon(checked)}
149
- aria-label="show icon checkbox"
150
- id="toggle-icon"
151
- name="toggle-icon"
152
- />
153
- </div>
154
- );
155
- }
156
- }
157
- ```
158
-
159
- ### With item descriptions
160
-
161
- To give more context to a `<SelectOption>` in a list, use the `description` property.
162
-
163
- ```js
164
- import React from 'react';
165
- import { Select, SelectOption, SelectVariant } from '@patternfly/react-core/deprecated';
166
-
167
- class SingleSelectDescription extends React.Component {
168
- constructor(props) {
169
- super(props);
170
- this.options = [
171
- { value: 'Mr', disabled: false },
172
- { value: 'Miss', disabled: false },
173
- { value: 'Mrs', disabled: false },
174
- { value: 'Ms', disabled: false },
175
- { value: 'Dr', disabled: false },
176
- { value: 'Other', disabled: false }
177
- ];
178
-
179
- this.toggleRef = React.createRef();
180
-
181
- this.state = {
182
- isOpen: false,
183
- selected: null,
184
- isDisabled: false
185
- };
186
-
187
- this.onToggle = (_event, isOpen) => {
188
- this.setState({
189
- isOpen
190
- });
191
- };
192
-
193
- this.onSelect = (event, selection, isPlaceholder) => {
194
- if (isPlaceholder) this.clearSelection();
195
- else {
196
- this.setState({
197
- selected: selection,
198
- isOpen: false
199
- });
200
- console.log('selected:', selection);
201
- this.toggleRef.current.focus();
202
- }
203
- };
204
-
205
- this.clearSelection = () => {
206
- this.setState({
207
- selected: null,
208
- isOpen: false
209
- });
210
- };
211
- }
212
-
213
- render() {
214
- const { isOpen, selected, isDisabled, direction, isToggleIcon } = this.state;
215
- const titleId = 'select-descriptions-title';
216
- return (
217
- <div>
218
- <span id={titleId} hidden>
219
- Title
220
- </span>
221
- <Select
222
- variant={SelectVariant.single}
223
- placeholderText="Select an option"
224
- aria-label="Select Input with descriptions"
225
- onToggle={this.onToggle}
226
- toggleRef={this.toggleRef}
227
- onSelect={this.onSelect}
228
- selections={selected}
229
- isOpen={isOpen}
230
- aria-labelledby={titleId}
231
- isDisabled={isDisabled}
232
- >
233
- {this.options.map((option, index) => (
234
- <SelectOption
235
- isDisabled={option.disabled}
236
- key={index}
237
- value={option.value}
238
- isPlaceholder={option.isPlaceholder}
239
- description="This is a description"
240
- />
241
- ))}
242
- </Select>
243
- </div>
244
- );
245
- }
246
- }
247
- ```
248
-
249
- ### With grouped items
250
-
251
- To group related select options together, use 1 or more `<SelectGroup>` components and title each group using the `label` property.
252
-
253
- ```js
254
- import React from 'react';
255
- import { Divider } from '@patternfly/react-core';
256
- import { Select, SelectOption, SelectVariant, SelectGroup } from '@patternfly/react-core/deprecated';
257
-
258
- class GroupedSingleSelectInput extends React.Component {
259
- constructor(props) {
260
- super(props);
261
- this.state = {
262
- isOpen: false,
263
- selected: null
264
- };
265
-
266
- this.toggleRef = React.createRef();
267
-
268
- this.onToggle = (_event, isOpen) => {
269
- this.setState({
270
- isOpen
271
- });
272
- };
273
-
274
- this.onSelect = (event, selection) => {
275
- this.setState({
276
- selected: selection,
277
- isOpen: false
278
- });
279
- this.toggleRef.current.focus();
280
- };
281
-
282
- this.clearSelection = () => {
283
- this.setState({
284
- selected: null
285
- });
286
- };
287
-
288
- this.options = [
289
- <SelectGroup label="Status" key="group1">
290
- <SelectOption key={0} value="Running" />
291
- <SelectOption key={1} value="Stopped" />
292
- <SelectOption key={2} value="Down" />
293
- <SelectOption key={3} value="Degraded" />
294
- <SelectOption key={4} value="Needs maintenance" />
295
- </SelectGroup>,
296
- <Divider key="divider" />,
297
- <SelectGroup label="Vendor names" key="group2">
298
- <SelectOption key={5} value="Dell" />
299
- <SelectOption key={6} value="Samsung" isDisabled />
300
- <SelectOption key={7} value="Hewlett-Packard" />
301
- </SelectGroup>
302
- ];
303
- }
304
-
305
- render() {
306
- const { isOpen, selected } = this.state;
307
- const titleId = 'grouped-single-select-id';
308
- return (
309
- <div>
310
- <span id={titleId} hidden>
311
- Grouped Checkbox Title
312
- </span>
313
- <Select
314
- variant={SelectVariant.single}
315
- toggleRef={this.toggleRef}
316
- onToggle={this.onToggle}
317
- onSelect={this.onSelect}
318
- selections={selected}
319
- isOpen={isOpen}
320
- placeholderText="Filter by status/vendor"
321
- aria-labelledby={titleId}
322
- isGrouped
323
- >
324
- {this.options}
325
- </Select>
326
- </div>
327
- );
328
- }
329
- }
330
- ```
331
-
332
- ### Favoriting items
333
-
334
- To allow users to favorite items in a select list, use the `onFavorite` callback. When users click the favorite button, the item is duplicated and placed in a separated group at the top of the menu. To change the name of the group use the `favoritesLabel` property.
335
-
336
- ```js
337
- import React from 'react';
338
- import { Select, SelectOption, SelectVariant, SelectGroup } from '@patternfly/react-core/deprecated';
339
-
340
- class FavoritesSelect extends React.Component {
341
- constructor(props) {
342
- super(props);
343
- this.state = {
344
- isOpen: false,
345
- selected: null,
346
- favorites: []
347
- };
348
-
349
- this.onToggle = (_event, isOpen) => {
350
- this.setState({
351
- isOpen
352
- });
353
- };
354
-
355
- this.onSelect = (event, selection, isPlaceholder) => {
356
- if (isPlaceholder) this.clearSelection();
357
- else {
358
- this.setState({
359
- selected: selection,
360
- isOpen: false
361
- });
362
- console.log('selected:', selection);
363
- }
364
- };
365
-
366
- this.clearSelection = () => {
367
- this.setState({
368
- selected: null,
369
- isOpen: false
370
- });
371
- };
372
-
373
- this.onFavorite = (itemId, isFavorite) => {
374
- if (isFavorite) {
375
- this.setState({
376
- favorites: this.state.favorites.filter(id => id !== itemId)
377
- });
378
- } else
379
- this.setState({
380
- favorites: [...this.state.favorites, itemId]
381
- });
382
- };
383
-
384
- this.options = [
385
- <SelectGroup label="Status" key="group1">
386
- <SelectOption id={'option-1'} key={0} value="Running" description="This is a description." />
387
- <SelectOption id={'option-2'} key={1} value="Stopped" />
388
- <SelectOption id={'option-3'} key={2} value="Down (disabled)" isDisabled />
389
- <SelectOption id={'option-4'} key={3} value="Degraded" />
390
- <SelectOption id={'option-5'} key={4} value="Needs maintenance" />
391
- </SelectGroup>,
392
- <SelectGroup label="Vendor names" key="group2">
393
- <SelectOption id={'option-6'} key={5} value="Dell" />
394
- <SelectOption id={'option-7'} key={6} value="Samsung" description="This is a description." />
395
- <SelectOption id={'option-8'} key={7} value="Hewlett-Packard" />
396
- </SelectGroup>
397
- ];
398
- }
399
-
400
- render() {
401
- const { isOpen, selected, favorites } = this.state;
402
- const titleId = 'grouped-single-select-id';
403
- return (
404
- <Select
405
- variant={SelectVariant.typeahead}
406
- typeAheadAriaLabel="Select value"
407
- onToggle={this.onToggle}
408
- onSelect={this.onSelect}
409
- selections={selected}
410
- isOpen={isOpen}
411
- placeholderText="Favorites"
412
- aria-labelledby={titleId}
413
- isGrouped
414
- onFavorite={this.onFavorite}
415
- favorites={favorites}
416
- onClear={this.clearSelection}
417
- >
418
- {this.options}
419
- </Select>
420
- );
421
- }
422
- }
423
- ```
424
-
425
- ### Validated selections
426
-
427
- To validate selections that users make, pass a validation state to the `validated` property. Validating selections can let users know if the selections they make would cause issues or errors.
428
-
429
- The example below passes an "error" state when you choose “select a title”, a "warning" state when you choose "other", and a "success" state for any other item selected from the menu.
430
-
431
- ```js
432
- import React from 'react';
433
- import { Select, SelectOption, SelectVariant } from '@patternfly/react-core/deprecated';
434
-
435
- class ValidatedSelect extends React.Component {
436
- constructor(props) {
437
- super(props);
438
- this.options = [
439
- <SelectOption key={0} value="Select a title" isPlaceholder />,
440
- <SelectOption key={1} value="Mr" />,
441
- <SelectOption key={2} value="Miss" />,
442
- <SelectOption key={3} value="Mrs" />,
443
- <SelectOption key={4} value="Ms" />,
444
- <SelectOption key={5} value="Dr" />,
445
- <SelectOption key={6} value="Other" />
446
- ];
447
-
448
- this.toggleRef = React.createRef();
449
-
450
- this.state = {
451
- isOpen: false,
452
- selected: null,
453
- isDisabled: false,
454
- validated: 'default'
455
- };
456
-
457
- this.onToggle = (_event, isOpen) => {
458
- this.setState({
459
- isOpen
460
- });
461
- };
462
-
463
- this.onSelect = (event, selection, isPlaceholder) => {
464
- let validatedState = 'success';
465
- if (isPlaceholder) {
466
- this.clearSelection();
467
- validatedState = 'error';
468
- } else {
469
- if (selection === 'Other') {
470
- validatedState = 'warning';
471
- } else {
472
- validatedState = 'success';
473
- }
474
- this.setState({
475
- selected: selection,
476
- isOpen: false
477
- });
478
- console.log('selected:', selection);
479
- }
480
- this.setState({
481
- validated: validatedState
482
- });
483
- this.toggleRef.current.focus();
484
- };
485
-
486
- this.clearSelection = () => {
487
- this.setState({
488
- selected: null,
489
- isOpen: false
490
- });
491
- };
492
- }
493
-
494
- render() {
495
- const { isOpen, selected, isDisabled, direction, isToggleIcon, validated } = this.state;
496
- const titleId = 'select-validated-title';
497
- return (
498
- <div>
499
- <span id={titleId} hidden>
500
- Title
501
- </span>
502
- <Select
503
- variant={SelectVariant.single}
504
- toggleRef={this.toggleRef}
505
- placeholderText="Select an option"
506
- aria-label="Select Input with validation"
507
- onToggle={this.onToggle}
508
- onSelect={this.onSelect}
509
- selections={selected}
510
- isOpen={isOpen}
511
- aria-labelledby={titleId}
512
- isDisabled={isDisabled}
513
- validated={validated}
514
- aria-describedby="validated-helper"
515
- aria-invalid={validated === 'error' ? true : false}
516
- >
517
- {this.options}
518
- </Select>
519
- <div aria-live="polite" id="validated-helper" hidden>
520
- {validated}
521
- </div>
522
- </div>
523
- );
524
- }
525
- }
526
- ```
527
-
528
- ### Styled placeholder text
529
-
530
- To add a toggle label to a select, use the `placeholderText` property. The following example displays "Filter by status" in the toggle before a selection is made.
531
-
532
- To fade the color of `placeholderText` to gray, use the `hasPlaceholderStyle` property.
533
-
534
- ```js
535
- import React from 'react';
536
- import { Select, SelectOption, SelectVariant } from '@patternfly/react-core/deprecated';
537
-
538
- function SelectWithPlaceholderStyle() {
539
- const [isOpen, setIsOpen] = React.useState(false);
540
- const [selected, setSelected] = React.useState([]);
541
-
542
- const options = [
543
- <SelectOption key={0} value="Active" />,
544
- <SelectOption key={1} value="Cancelled" />,
545
- <SelectOption key={2} value="Paused" />
546
- ];
547
-
548
- const onToggle = (_event, isOpen) => setIsOpen(isOpen);
549
-
550
- const onSelect = (event, selection, isPlaceholder) => {
551
- setSelected(selection);
552
- setIsOpen(false);
553
- };
554
-
555
- const clearSelection = () => {
556
- setSelected(null);
557
- setIsOpen(false);
558
- };
559
-
560
- const titleId = 'placeholder-style-select-id';
561
-
562
- return (
563
- <div>
564
- <span id={titleId} hidden>
565
- Placeholder styles
566
- </span>
567
- <Select
568
- variant={SelectVariant.single}
569
- hasPlaceholderStyle
570
- aria-label="Select input"
571
- onToggle={onToggle}
572
- onSelect={onSelect}
573
- onClear={clearSelection}
574
- selections={selected}
575
- isOpen={isOpen}
576
- placeholderText="Filter by status"
577
- aria-labelledby={titleId}
578
- >
579
- {options}
580
- </Select>
581
- </div>
582
- );
583
- }
584
- ```
585
-
586
- ### Placeholder select options
587
-
588
- To set a `<SelectOption>` as a placeholder, use the `isPlaceholder` property. The following example sets the "Filter by status" as a placeholder so that it is pre-selected.
589
-
590
- ```js
591
-
592
- import React from 'react';
593
- import { Select, SelectOption, SelectVariant } from '@patternfly/react-core/deprecated';
594
-
595
- function SelectWithPlaceholderStyle() {
596
- const [isOpen, setIsOpen] = React.useState(false);
597
- const [selected, setSelected] = React.useState([]);
598
-
599
- const options = [
600
- <SelectOption key={0} value="Filter by status" isPlaceholder />,
601
- <SelectOption key={1} value="Active" />,
602
- <SelectOption key={2} value="Cancelled" />,
603
- <SelectOption key={3} value="Paused" />
604
- ];
605
-
606
- const onToggle = (_event, isOpen) => setIsOpen(isOpen);
607
-
608
- const onSelect = (event, selection, isPlaceholder) => {
609
- setSelected(selection);
610
- setIsOpen(false);
611
- };
612
-
613
- const clearSelection = () => {
614
- setSelected(null);
615
- setIsOpen(false);
616
- };
617
-
618
- const titleId = 'placeholder-style-select-option-id';
619
-
620
- return (
621
- <div>
622
- <span id={titleId} hidden>
623
- Placeholder styles - select option
624
- </span>
625
- <Select
626
- variant={SelectVariant.single}
627
- hasPlaceholderStyle
628
- aria-label="Select input"
629
- onToggle={onToggle}
630
- onSelect={onSelect}
631
- onClear={clearSelection}
632
- selections={selected}
633
- isOpen={isOpen}
634
- aria-labelledby={titleId}
635
- >
636
- {options}
637
- </Select>
638
- </div>
639
- );
640
- }
641
- ```
642
-
643
- ### With a footer
644
-
645
- You can add a `footer` to a `<Select>` list to hold actions that users can take on menu items.
646
-
647
- ```js
648
- import React from 'react';
649
- import CubeIcon from '@patternfly/react-icons/dist/esm/icons/cube-icon';
650
- import { Divider, Button } from '@patternfly/react-core';
651
- import { Select, SelectOption, SelectVariant, SelectDirection } from '@patternfly/react-core/deprecated';
652
-
653
- class SelectWithFooter extends React.Component {
654
- constructor(props) {
655
- super(props);
656
- this.options = [
657
- <SelectOption key={0} value="Select a title" isPlaceholder />,
658
- <SelectOption key={1} value="Mr" />,
659
- <SelectOption key={2} value="Miss" />,
660
- <SelectOption key={3} value="Mrs" />,
661
- <SelectOption key={4} value="Ms" />,
662
- <Divider component="li" key={5} />,
663
- <SelectOption key={6} value="Dr" />,
664
- <SelectOption key={7} value="Other" />
665
- ];
666
-
667
- this.toggleRef = React.createRef();
668
-
669
- this.state = {
670
- isToggleIcon: false,
671
- isOpen: false,
672
- selected: null,
673
- isDisabled: false,
674
- direction: SelectDirection.down
675
- };
676
-
677
- this.onToggle = (_event, isOpen) => {
678
- this.setState({
679
- isOpen
680
- });
681
- };
682
-
683
- this.onSelect = (event, selection, isPlaceholder) => {
684
- if (isPlaceholder) this.clearSelection();
685
- else {
686
- this.setState({
687
- selected: selection,
688
- isOpen: false
689
- });
690
- console.log('selected:', selection);
691
- this.toggleRef.current.focus();
692
- }
693
- };
694
-
695
- this.clearSelection = () => {
696
- this.setState({
697
- selected: null,
698
- isOpen: false
699
- });
700
- };
701
- }
702
-
703
- render() {
704
- const { isOpen, selected, isDisabled, direction, isToggleIcon } = this.state;
705
- const titleId = 'title-id-footer';
706
- return (
707
- <div>
708
- <span id={titleId} hidden>
709
- Title
710
- </span>
711
- <Select
712
- toggleIcon={isToggleIcon && <CubeIcon />}
713
- toggleRef={this.toggleRef}
714
- variant={SelectVariant.single}
715
- aria-label="Select Input"
716
- onToggle={this.onToggle}
717
- onSelect={this.onSelect}
718
- selections={selected}
719
- isOpen={isOpen}
720
- aria-labelledby={titleId}
721
- isDisabled={isDisabled}
722
- direction={direction}
723
- footer={
724
- <>
725
- <Button variant="link" isInline>
726
- Action
727
- </Button>
728
- </>
729
- }
730
- >
731
- {this.options}
732
- </Select>
733
- </div>
734
- );
735
- }
736
- }
737
- ```
738
-
739
- ### With view more
740
-
741
- To reduce the processing load for long select lists, replace overflow items with a "View more" link at the bottom of the select menu.
742
-
743
- Adjust the number of items shown above the "View more" link with the `numOptions` property. The following example passes 3 items into this property.
744
-
745
- ```js
746
- import React from 'react';
747
- import { Select, SelectOption, SelectVariant } from '@patternfly/react-core/deprecated';
748
-
749
- class SelectViewMore extends React.Component {
750
- constructor(props) {
751
- super(props);
752
- this.options = [
753
- <SelectOption key={0} value="Select a title" isPlaceholder />,
754
- <SelectOption key={1} value="Mr" />,
755
- <SelectOption key={2} value="Miss" />,
756
- <SelectOption key={3} value="Mrs" />,
757
- <SelectOption key={4} value="Ms" />,
758
- <SelectOption key={5} value="Dr" />,
759
- <SelectOption key={6} value="Other" />
760
- ];
761
-
762
- this.toggleRef = React.createRef();
763
-
764
- this.state = {
765
- isOpen: false,
766
- selected: null,
767
- numOptions: 3,
768
- isLoading: false
769
- };
770
-
771
- this.onToggle = (_event, isOpen) => {
772
- this.setState({
773
- isOpen
774
- });
775
- };
776
-
777
- this.onSelect = (event, selection, isPlaceholder) => {
778
- if (isPlaceholder) this.clearSelection();
779
- else {
780
- this.setState({
781
- selected: selection,
782
- isOpen: false
783
- });
784
- console.log('selected:', selection);
785
- this.toggleRef.current.focus();
786
- }
787
- };
788
-
789
- this.clearSelection = () => {
790
- this.setState({
791
- selected: null,
792
- isOpen: false
793
- });
794
- };
795
-
796
- this.simulateNetworkCall = callback => {
797
- setTimeout(callback, 2000);
798
- };
799
-
800
- this.onViewMoreClick = () => {
801
- // Set select loadingVariant to spinner then simulate network call before loading more options
802
- this.setState({ isLoading: true });
803
- this.simulateNetworkCall(() => {
804
- const newLength =
805
- this.state.numOptions + 3 <= this.options.length ? this.state.numOptions + 3 : this.options.length;
806
- this.setState({ numOptions: newLength, isLoading: false });
807
- });
808
- };
809
- }
810
-
811
- render() {
812
- const { isOpen, selected, isToggleIcon, numOptions, loadingVariant, isLoading } = this.state;
813
- const titleId = 'title-id-view-more';
814
- return (
815
- <div>
816
- <span id={titleId} hidden>
817
- Title
818
- </span>
819
- <Select
820
- variant={SelectVariant.single}
821
- toggleRef={this.toggleRef}
822
- aria-label="Select Input"
823
- onToggle={this.onToggle}
824
- onSelect={this.onSelect}
825
- selections={selected}
826
- isOpen={isOpen}
827
- aria-labelledby={titleId}
828
- {...(!isLoading &&
829
- numOptions < this.options.length && {
830
- loadingVariant: { text: 'View more', onClick: this.onViewMoreClick }
831
- })}
832
- {...(isLoading && { loadingVariant: 'spinner' })}
833
- >
834
- {this.options.slice(0, numOptions)}
835
- </Select>
836
- </div>
837
- );
838
- }
839
- }
840
- ```
841
-
842
- ### Checkbox select
843
-
844
- To let users select multiple list options via checkbox input, use a checkbox select. To create a checkbox select, pass `variant={SelectVariant.checkbox}` into the `<Select>` component.
845
-
846
- By default, a badge is displayed in the menu toggle that indicates the number of items a user has selected.
847
-
848
- ```js
849
- import React from 'react';
850
- import { Divider } from '@patternfly/react-core';
851
- import { Select, SelectOption, SelectVariant } from '@patternfly/react-core/deprecated';
852
-
853
- class CheckboxSelectInput extends React.Component {
854
- constructor(props) {
855
- super(props);
856
-
857
- this.state = {
858
- isOpen: false,
859
- selected: []
860
- };
861
-
862
- this.onToggle = (_event, isOpen) => {
863
- this.setState({
864
- isOpen
865
- });
866
- };
867
-
868
- this.onSelect = (event, selection) => {
869
- const { selected } = this.state;
870
- if (selected.includes(selection)) {
871
- this.setState(
872
- prevState => ({ selected: prevState.selected.filter(item => item !== selection) }),
873
- () => console.log('selections: ', this.state.selected)
874
- );
875
- } else {
876
- this.setState(
877
- prevState => ({ selected: [...prevState.selected, selection] }),
878
- () => console.log('selections: ', this.state.selected)
879
- );
880
- }
881
- };
882
-
883
- this.clearSelection = () => {
884
- this.setState({
885
- selected: []
886
- });
887
- };
888
-
889
- this.options = [
890
- <SelectOption key={0} value="Active" description="This is a description" />,
891
- <SelectOption key={1} value="Cancelled" />,
892
- <SelectOption key={2} value="Paused" />,
893
- <Divider key={3} />,
894
- <SelectOption key={4} value="Warning" />,
895
- <SelectOption key={5} value="Restarted" />
896
- ];
897
- }
898
-
899
- render() {
900
- const { isOpen, selected } = this.state;
901
- const titleId = 'checkbox-select-id';
902
- return (
903
- <div>
904
- <span id={titleId} hidden>
905
- Checkbox Title
906
- </span>
907
- <Select
908
- variant={SelectVariant.checkbox}
909
- aria-label="Select Input"
910
- onToggle={this.onToggle}
911
- onSelect={this.onSelect}
912
- selections={selected}
913
- isOpen={isOpen}
914
- placeholderText="Filter by status"
915
- aria-labelledby={titleId}
916
- >
917
- {this.options}
918
- </Select>
919
- </div>
920
- );
921
- }
922
- }
923
- ```
924
-
925
- ### Checkbox select with grouped items
926
-
927
- You can use groups alongside checkbox input. The item count badge will display the number of items selected across all groups.
928
-
929
- ```js
930
- import React from 'react';
931
- import { Select, SelectOption, SelectVariant, SelectGroup } from '@patternfly/react-core/deprecated';
932
-
933
- class GroupedCheckboxSelectInput extends React.Component {
934
- constructor(props) {
935
- super(props);
936
- this.state = {
937
- isOpen: false,
938
- selected: []
939
- };
940
-
941
- this.onToggle = (_event, isOpen) => {
942
- this.setState({
943
- isOpen
944
- });
945
- };
946
-
947
- this.onSelect = (event, selection) => {
948
- const { selected } = this.state;
949
- if (selected.includes(selection)) {
950
- this.setState(
951
- prevState => ({ selected: prevState.selected.filter(item => item !== selection) }),
952
- () => console.log('selections: ', this.state.selected)
953
- );
954
- } else {
955
- this.setState(
956
- prevState => ({ selected: [...prevState.selected, selection] }),
957
- () => console.log('selections: ', this.state.selected)
958
- );
959
- }
960
- };
961
-
962
- this.clearSelection = () => {
963
- this.setState({
964
- selected: []
965
- });
966
- };
967
-
968
- this.options = [
969
- <SelectGroup label="Status" key="group1">
970
- <SelectOption key={0} value="Running" />
971
- <SelectOption key={1} value="Stopped" />
972
- <SelectOption key={2} value="Down" />
973
- <SelectOption key={3} value="Degraded" />
974
- <SelectOption key={4} value="Needs maintenance" />
975
- </SelectGroup>,
976
- <SelectGroup label="Vendor names" key="group2">
977
- <SelectOption key={5} value="Dell" />
978
- <SelectOption key={6} value="Samsung" isDisabled />
979
- <SelectOption key={7} value="Hewlett-Packard" />
980
- </SelectGroup>
981
- ];
982
- }
983
-
984
- render() {
985
- const { isOpen, selected } = this.state;
986
- const titleId = 'grouped-checkbox-select-id-1';
987
- return (
988
- <div>
989
- <span id={titleId} hidden>
990
- Grouped Checkbox Title
991
- </span>
992
- <Select
993
- variant={SelectVariant.checkbox}
994
- onToggle={this.onToggle}
995
- onSelect={this.onSelect}
996
- selections={selected}
997
- isOpen={isOpen}
998
- placeholderText="Filter by status"
999
- aria-labelledby={titleId}
1000
- isGrouped
1001
- >
1002
- {this.options}
1003
- </Select>
1004
- </div>
1005
- );
1006
- }
1007
- }
1008
- ```
1009
-
1010
- ### Checkbox select with custom badge
1011
-
1012
- To change the default badge text for a checkbox select, use the `customBadgeText` property. The following example uses `customBadgeText` to display "all" in the badge once all menu items are selected.
1013
-
1014
- ```js
1015
- import React from 'react';
1016
- import { Select, SelectOption, SelectGroup, SelectVariant } from '@patternfly/react-core/deprecated';
1017
-
1018
- class FilteringCheckboxSelectInputWithBadging extends React.Component {
1019
- constructor(props) {
1020
- super(props);
1021
-
1022
- this.state = {
1023
- isOpen: false,
1024
- selected: [],
1025
- customBadgeText: 0
1026
- };
1027
-
1028
- this.options = [
1029
- <SelectGroup label="Status" key="group1">
1030
- <SelectOption key={0} value="Running" />
1031
- <SelectOption key={1} value="Stopped" />
1032
- <SelectOption key={2} value="Down" />
1033
- <SelectOption key={3} value="Degraded" />
1034
- <SelectOption key={4} value="Needs maintenance" />
1035
- </SelectGroup>,
1036
- <SelectGroup label="Vendor names" key="group2">
1037
- <SelectOption key={5} value="Dell" />
1038
- <SelectOption key={6} value="Samsung" isDisabled />
1039
- <SelectOption key={7} value="Hewlett-Packard" />
1040
- </SelectGroup>
1041
- ];
1042
-
1043
- this.onToggle = (_event, isOpen) => {
1044
- this.setState({
1045
- isOpen
1046
- });
1047
- };
1048
-
1049
- this.onSelect = (event, selection) => {
1050
- const { selected } = this.state;
1051
- if (selected.includes(selection)) {
1052
- this.setState(
1053
- prevState => ({
1054
- selected: prevState.selected.filter(item => item !== selection),
1055
- customBadgeText: this.setBadgeText(prevState.selected.length - 1)
1056
- }),
1057
- () => console.log('selections: ', this.state.selected)
1058
- );
1059
- } else {
1060
- this.setState(
1061
- prevState => ({
1062
- selected: [...prevState.selected, selection],
1063
- customBadgeText: this.setBadgeText(prevState.selected.length + 1)
1064
- }),
1065
- () => console.log('selections: ', this.state.selected)
1066
- );
1067
- }
1068
- };
1069
-
1070
- this.onFilter = (_, textInput) => {
1071
- if (textInput === '') {
1072
- return this.options;
1073
- } else {
1074
- let filteredGroups = this.options
1075
- .map(group => {
1076
- let filteredGroup = React.cloneElement(group, {
1077
- children: group.props.children.filter(item => {
1078
- return item.props.value.toLowerCase().includes(textInput.toLowerCase());
1079
- })
1080
- });
1081
- if (filteredGroup.props.children.length > 0) return filteredGroup;
1082
- })
1083
- .filter(newGroup => newGroup);
1084
- return filteredGroups;
1085
- }
1086
- };
1087
-
1088
- this.clearSelection = () => {
1089
- this.setState({
1090
- selected: [],
1091
- customBadgeText: this.setBadgeText(0)
1092
- });
1093
- };
1094
-
1095
- this.setBadgeText = selected => {
1096
- if (selected === 7) {
1097
- return 'All';
1098
- }
1099
- if (selected === 0) {
1100
- return 0;
1101
- }
1102
- return null;
1103
- };
1104
- }
1105
-
1106
- render() {
1107
- const { isOpen, selected, filteredOptions, customBadgeText } = this.state;
1108
- const titleId = 'checkbox-filtering-custom-badging-select-id';
1109
- return (
1110
- <div>
1111
- <span id={titleId} hidden>
1112
- Checkbox Title
1113
- </span>
1114
- <Select
1115
- variant={SelectVariant.checkbox}
1116
- onToggle={this.onToggle}
1117
- onSelect={this.onSelect}
1118
- selections={selected}
1119
- isOpen={isOpen}
1120
- placeholderText="Filter by status"
1121
- aria-labelledby={titleId}
1122
- onFilter={this.onFilter}
1123
- onClear={this.clearSelection}
1124
- isGrouped
1125
- hasInlineFilter
1126
- customBadgeText={customBadgeText}
1127
- >
1128
- {this.options}
1129
- </Select>
1130
- </div>
1131
- );
1132
- }
1133
- }
1134
- ```
1135
-
1136
- ### Checkbox select without selected count
1137
-
1138
- To remove the default item count badge, use the `isCheckboxSelectionBadgeHidden` property.
1139
-
1140
- ```js
1141
- import React from 'react';
1142
- import { Select, SelectOption, SelectVariant } from '@patternfly/react-core/deprecated';
1143
-
1144
- class CheckboxSelectInputNoBadge extends React.Component {
1145
- constructor(props) {
1146
- super(props);
1147
-
1148
- this.state = {
1149
- isOpen: false,
1150
- selected: []
1151
- };
1152
-
1153
- this.onToggle = (_event, isOpen) => {
1154
- this.setState({
1155
- isOpen
1156
- });
1157
- };
1158
-
1159
- this.onSelect = (event, selection) => {
1160
- const { selected } = this.state;
1161
- if (selected.includes(selection)) {
1162
- this.setState(
1163
- prevState => ({ selected: prevState.selected.filter(item => item !== selection) }),
1164
- () => console.log('selections: ', this.state.selected)
1165
- );
1166
- } else {
1167
- this.setState(
1168
- prevState => ({ selected: [...prevState.selected, selection] }),
1169
- () => console.log('selections: ', this.state.selected)
1170
- );
1171
- }
1172
- };
1173
-
1174
- this.clearSelection = () => {
1175
- this.setState({
1176
- selected: []
1177
- });
1178
- };
1179
-
1180
- this.options = [
1181
- <SelectOption key={0} value="Debug" />,
1182
- <SelectOption key={1} value="Info" />,
1183
- <SelectOption key={2} value="Warn" />,
1184
- <SelectOption key={3} value="Error" />
1185
- ];
1186
- }
1187
-
1188
- render() {
1189
- const { isOpen, selected } = this.state;
1190
- const titleId = 'checkbox-no-badge-select-id';
1191
- return (
1192
- <div>
1193
- <span id={titleId} hidden>
1194
- Checkbox Title
1195
- </span>
1196
- <Select
1197
- variant={SelectVariant.checkbox}
1198
- aria-label="Select Input"
1199
- onToggle={this.onToggle}
1200
- onSelect={this.onSelect}
1201
- selections={selected}
1202
- isCheckboxSelectionBadgeHidden
1203
- isOpen={isOpen}
1204
- placeholderText="Filter by status"
1205
- aria-labelledby={titleId}
1206
- >
1207
- {this.options}
1208
- </Select>
1209
- </div>
1210
- );
1211
- }
1212
- }
1213
- ```
1214
-
1215
- ### Checkbox select with item counts
1216
-
1217
- To show users the number of items that a `<SelectOption>` would match, use the `itemCount` property. The numerical value you pass into `itemCount` is displayed to the right of each menu item.
1218
-
1219
- ```js
1220
- import React from 'react';
1221
- import { Divider } from '@patternfly/react-core';
1222
- import { Select, SelectOption, SelectVariant } from '@patternfly/react-core/deprecated';
1223
-
1224
- class CheckboxSelectWithCounts extends React.Component {
1225
- constructor(props) {
1226
- super(props);
1227
-
1228
- this.state = {
1229
- isOpen: false,
1230
- selected: []
1231
- };
1232
-
1233
- this.onToggle = (_event, isOpen) => {
1234
- this.setState({
1235
- isOpen
1236
- });
1237
- };
1238
-
1239
- this.onSelect = (event, selection) => {
1240
- const { selected } = this.state;
1241
- if (selected.includes(selection)) {
1242
- this.setState(
1243
- prevState => ({ selected: prevState.selected.filter(item => item !== selection) }),
1244
- () => console.log('selections: ', this.state.selected)
1245
- );
1246
- } else {
1247
- this.setState(
1248
- prevState => ({ selected: [...prevState.selected, selection] }),
1249
- () => console.log('selections: ', this.state.selected)
1250
- );
1251
- }
1252
- };
1253
-
1254
- this.clearSelection = () => {
1255
- this.setState({
1256
- selected: []
1257
- });
1258
- };
1259
-
1260
- this.options = [
1261
- <SelectOption key={0} value="Active" description="This is a description" itemCount={3} />,
1262
- <SelectOption key={1} value="Cancelled" itemCount={1} />,
1263
- <SelectOption key={2} value="Paused" itemCount={15} />,
1264
- <SelectOption key={3} value="Warning" itemCount={2} />,
1265
- <SelectOption key={4} value="Restarted" itemCount={8} />
1266
- ];
1267
- }
1268
-
1269
- render() {
1270
- const { isOpen, selected } = this.state;
1271
- const titleId = 'checkbox-select-with-counts-id';
1272
- return (
1273
- <div>
1274
- <span id={titleId} hidden>
1275
- Checkbox With Counts Title
1276
- </span>
1277
- <Select
1278
- variant={SelectVariant.checkbox}
1279
- aria-label="Select Input"
1280
- onToggle={this.onToggle}
1281
- onSelect={this.onSelect}
1282
- selections={selected}
1283
- isOpen={isOpen}
1284
- placeholderText="Filter by status"
1285
- aria-labelledby={titleId}
1286
- >
1287
- {this.options}
1288
- </Select>
1289
- </div>
1290
- );
1291
- }
1292
- }
1293
- ```
1294
-
1295
- ### Checkbox select with a footer
1296
-
1297
- You can combine a footer with checkbox input to allow users to apply an action to multiple items.
1298
-
1299
- ```js
1300
- import React from 'react';
1301
- import { Button } from '@patternfly/react-core';
1302
- import { Select, SelectOption, SelectVariant } from '@patternfly/react-core/deprecated';
1303
-
1304
- class SelectWithFooterCheckbox extends React.Component {
1305
- constructor(props) {
1306
- super(props);
1307
- this.state = {
1308
- isOpen: false,
1309
- selected: [],
1310
- numOptions: 3,
1311
- isLoading: false
1312
- };
1313
-
1314
- this.toggleRef = React.createRef();
1315
-
1316
- this.options = [
1317
- <SelectOption key={0} value="Active" description="This is a description" />,
1318
- <SelectOption key={1} value="Cancelled" />,
1319
- <SelectOption key={2} value="Paused" />,
1320
- <SelectOption key={4} value="Warning" />,
1321
- <SelectOption key={5} value="Restarted" />
1322
- ];
1323
-
1324
- this.onToggle = (_event, isOpen) => {
1325
- this.setState({ isOpen });
1326
- };
1327
-
1328
- this.onSelect = (event, selection) => {
1329
- this.setState({ selected: selection, isOpen: false }), console.log('selected: ', selection);
1330
- this.toggleRef.current.focus();
1331
- };
1332
-
1333
- this.onFilter = (_, textInput) => {
1334
- if (textInput === '') {
1335
- return this.options;
1336
- } else {
1337
- this.setState(
1338
- prevState => ({ selected: [...prevState.selected, selection] }),
1339
- () => console.log('selections: ', this.state.selected)
1340
- );
1341
- }
1342
- };
1343
-
1344
- this.clearSelection = () => {
1345
- this.setState({
1346
- selected: []
1347
- });
1348
- };
1349
- }
1350
-
1351
- render() {
1352
- const { isOpen, selected, isDisabled, direction, isToggleIcon } = this.state;
1353
- const titleId = 'title-id-footer-checkbox';
1354
- return (
1355
- <div>
1356
- <span id={titleId} hidden>
1357
- Title
1358
- </span>
1359
- <Select
1360
- variant={SelectVariant.single}
1361
- toggleRef={this.toggleRef}
1362
- onToggle={this.onToggle}
1363
- onSelect={this.onSelect}
1364
- selections={selected}
1365
- isOpen={isOpen}
1366
- placeholderText="Filter by status"
1367
- aria-labelledby={titleId}
1368
- footer={
1369
- <Button variant="link" isInline>
1370
- Action
1371
- </Button>
1372
- }
1373
- >
1374
- {this.options}
1375
- </Select>
1376
- </div>
1377
- );
1378
- }
1379
- }
1380
- ```
1381
-
1382
- ### Checkbox select with view more
1383
-
1384
- When a "view more" link is used alongside checkbox input, selections that users make prior to clicking "view more" are persisted after the click.
1385
-
1386
- ```js
1387
- import React from 'react';
1388
- import { Select, SelectOption, SelectVariant } from '@patternfly/react-core/deprecated';
1389
-
1390
- class SelectViewMoreCheckbox extends React.Component {
1391
- constructor(props) {
1392
- super(props);
1393
-
1394
- this.state = {
1395
- isOpen: false,
1396
- selected: [],
1397
- numOptions: 3,
1398
- isLoading: false
1399
- };
1400
-
1401
- this.options = [
1402
- <SelectOption key={0} value="Active" description="This is a description" />,
1403
- <SelectOption key={1} value="Cancelled" />,
1404
- <SelectOption key={2} value="Paused" />,
1405
- <SelectOption key={4} value="Warning" />,
1406
- <SelectOption key={5} value="Restarted" />,
1407
- <SelectOption key={6} value="Down" />,
1408
- <SelectOption key={7} value="Disabled" />,
1409
- <SelectOption key={8} value="Needs maintenance " />,
1410
- <SelectOption key={9} value="Degraded " />
1411
- ];
1412
-
1413
- this.onToggle = (_event, isOpen) => {
1414
- this.setState({
1415
- isOpen
1416
- });
1417
- };
1418
-
1419
- this.onSelect = (event, selection) => {
1420
- const { selected } = this.state;
1421
- if (selected.includes(selection)) {
1422
- this.setState(
1423
- prevState => ({ selected: prevState.selected.filter(item => item !== selection) }),
1424
- () => console.log('selections: ', this.state.selected)
1425
- );
1426
- } else {
1427
- this.setState(
1428
- prevState => ({ selected: [...prevState.selected, selection] }),
1429
- () => console.log('selections: ', this.state.selected)
1430
- );
1431
- }
1432
- };
1433
-
1434
- this.clearSelection = () => {
1435
- this.setState({
1436
- selected: []
1437
- });
1438
- };
1439
-
1440
- this.simulateNetworkCall = callback => {
1441
- setTimeout(callback, 2000);
1442
- };
1443
-
1444
- this.onViewMoreClick = () => {
1445
- // Set select loadingVariant to spinner then simulate network call before loading more options
1446
- this.setState({ isLoading: true });
1447
- this.simulateNetworkCall(() => {
1448
- const newLength =
1449
- this.state.numOptions + 3 <= this.options.length ? this.state.numOptions + 3 : this.options.length;
1450
- this.setState({ numOptions: newLength, isLoading: false });
1451
- });
1452
- };
1453
- }
1454
-
1455
- render() {
1456
- const { isOpen, selected, numOptions, isLoading } = this.state;
1457
- const titleId = 'view-more-checkbox-select-id';
1458
- return (
1459
- <div>
1460
- <span id={titleId} hidden>
1461
- Checkbox View more check
1462
- </span>
1463
- <Select
1464
- variant={SelectVariant.checkbox}
1465
- aria-label="Select input"
1466
- onToggle={this.onToggle}
1467
- onSelect={this.onSelect}
1468
- selections={selected}
1469
- isOpen={isOpen}
1470
- placeholderText="Filter by status"
1471
- aria-labelledby={titleId}
1472
- {...(!isLoading &&
1473
- numOptions < this.options.length && {
1474
- loadingVariant: { text: 'View more', onClick: this.onViewMoreClick }
1475
- })}
1476
- {...(isLoading && { loadingVariant: 'spinner' })}
1477
- >
1478
- {this.options.slice(0, numOptions)}
1479
- </Select>
1480
- </div>
1481
- );
1482
- }
1483
- }
1484
- ```
1485
-
1486
- ### Filtering with placeholder text
1487
-
1488
- To preload a filter search bar with placeholder text, use the `inlineFilterPlaceholderText` property. The following example preloads the search bar with "Filter by status".
1489
-
1490
- ```js
1491
- import React from 'react';
1492
- import { Select, SelectOption, SelectGroup, SelectVariant } from '@patternfly/react-core/deprecated';
1493
-
1494
- class FilteringCheckboxSelectInputWithPlaceholder extends React.Component {
1495
- constructor(props) {
1496
- super(props);
1497
-
1498
- this.state = {
1499
- isOpen: false,
1500
- selected: []
1501
- };
1502
-
1503
- this.options = [
1504
- <SelectGroup label="Status" key="group1">
1505
- <SelectOption key={0} value="Running" />
1506
- <SelectOption key={1} value="Stopped" />
1507
- <SelectOption key={2} value="Down" />
1508
- <SelectOption key={3} value="Degraded" />
1509
- <SelectOption key={4} value="Needs maintenance" />
1510
- </SelectGroup>,
1511
- <SelectGroup label="Vendor names" key="group2">
1512
- <SelectOption key={5} value="Dell" />
1513
- <SelectOption key={6} value="Samsung" isDisabled />
1514
- <SelectOption key={7} value="Hewlett-Packard" />
1515
- </SelectGroup>
1516
- ];
1517
-
1518
- this.onToggle = (_event, isOpen) => {
1519
- this.setState({
1520
- isOpen
1521
- });
1522
- };
1523
-
1524
- this.onSelect = (event, selection) => {
1525
- const { selected } = this.state;
1526
- if (selected.includes(selection)) {
1527
- this.setState(
1528
- prevState => ({ selected: prevState.selected.filter(item => item !== selection) }),
1529
- () => console.log('selections: ', this.state.selected)
1530
- );
1531
- } else {
1532
- this.setState(
1533
- prevState => ({ selected: [...prevState.selected, selection] }),
1534
- () => console.log('selections: ', this.state.selected)
1535
- );
1536
- }
1537
- };
1538
-
1539
- this.onFilter = (_, textInput) => {
1540
- if (textInput === '') {
1541
- return this.options;
1542
- } else {
1543
- let filteredGroups = this.options
1544
- .map(group => {
1545
- let filteredGroup = React.cloneElement(group, {
1546
- children: group.props.children.filter(item => {
1547
- return item.props.value.toLowerCase().includes(textInput.toLowerCase());
1548
- })
1549
- });
1550
- if (filteredGroup.props.children.length > 0) return filteredGroup;
1551
- })
1552
- .filter(newGroup => newGroup);
1553
- return filteredGroups;
1554
- }
1555
- };
1556
-
1557
- this.clearSelection = () => {
1558
- this.setState({
1559
- selected: []
1560
- });
1561
- };
1562
- }
1563
-
1564
- render() {
1565
- const { isOpen, selected, filteredOptions } = this.state;
1566
- const titleId = 'checkbox-filtering-with-placeholder-select-id';
1567
- return (
1568
- <div>
1569
- <span id={titleId} hidden>
1570
- Checkbox Title
1571
- </span>
1572
- <Select
1573
- variant={SelectVariant.checkbox}
1574
- onToggle={this.onToggle}
1575
- onSelect={this.onSelect}
1576
- selections={selected}
1577
- isOpen={isOpen}
1578
- placeholderText="Filter by status"
1579
- aria-labelledby={titleId}
1580
- onFilter={this.onFilter}
1581
- onClear={this.clearSelection}
1582
- isGrouped
1583
- hasInlineFilter
1584
- inlineFilterPlaceholderText="Filter by status"
1585
- >
1586
- {this.options}
1587
- </Select>
1588
- </div>
1589
- );
1590
- }
1591
- }
1592
- ```
1593
-
1594
- ### Inline filtering
1595
-
1596
- To allow users to filter select lists using text input, use the `hasInlineFilter` property. Filtering behavior can be further customized with other properties, as shown in the example below. Select each checkbox to visualize the following behavior:
1597
-
1598
- - To persist filter results on blur, use the `isInputValuePersisted` property.
1599
- - To persist a filter that a user has searched, use the `isInputFilterPersisted` property.
1600
- - To allow users to add new items to a select list, use the `isCreatable` property. When this property is applied and a user searches for an option that doesn't exist, they will be prompted to "create" the item.
1601
-
1602
- ```js
1603
- import React from 'react';
1604
- import { Checkbox } from '@patternfly/react-core';
1605
- import { Select, SelectOption, SelectGroup, SelectVariant } from '@patternfly/react-core/deprecated';
1606
-
1607
- class FilteringSingleSelectInput extends React.Component {
1608
- constructor(props) {
1609
- super(props);
1610
-
1611
- this.state = {
1612
- isOpen: false,
1613
- selected: '',
1614
- isCreatable: false,
1615
- isInputValuePersisted: false,
1616
- isInputFilterPersisted: false
1617
- };
1618
-
1619
- this.options = [
1620
- <SelectGroup label="Status" key="group1">
1621
- <SelectOption key={0} value="Running" />
1622
- <SelectOption key={1} value="Stopped" />
1623
- <SelectOption key={2} value="Down" />
1624
- <SelectOption key={3} value="Degraded" />
1625
- <SelectOption key={4} value="Needs maintenance" />
1626
- </SelectGroup>,
1627
- <SelectGroup label="Vendor names" key="group2">
1628
- <SelectOption key={5} value="Dell" />
1629
- <SelectOption key={6} value="Samsung" isDisabled />
1630
- <SelectOption key={7} value="Hewlett-Packard" />
1631
- </SelectGroup>
1632
- ];
1633
-
1634
- this.onToggle = (_event, isOpen) => {
1635
- this.setState({
1636
- isOpen
1637
- });
1638
- };
1639
-
1640
- this.onSelect = (event, selection) => {
1641
- this.setState({ selected: selection, isOpen: false }), console.log('selected: ', selection);
1642
- };
1643
-
1644
- this.onFilter = (_, textInput) => {
1645
- if (textInput === '') {
1646
- return this.options;
1647
- } else {
1648
- let filteredGroups = this.options
1649
- .map(group => {
1650
- let filteredGroup = React.cloneElement(group, {
1651
- children: group.props.children.filter(item => {
1652
- return item.props.value.toLowerCase().includes(textInput.toLowerCase());
1653
- })
1654
- });
1655
- if (filteredGroup.props.children.length > 0) return filteredGroup;
1656
- })
1657
- .filter(Boolean);
1658
- return filteredGroups;
1659
- }
1660
- };
1661
-
1662
- this.toggleCreatable = (_, checked) => {
1663
- this.setState({
1664
- isCreatable: checked
1665
- });
1666
- };
1667
-
1668
- this.toggleInputValuePersisted = (_, checked) => {
1669
- this.setState({
1670
- isInputValuePersisted: checked
1671
- });
1672
- };
1673
-
1674
- this.toggleInputFilterPersisted = (_, checked) => {
1675
- this.setState({
1676
- isInputFilterPersisted: checked
1677
- });
1678
- };
1679
- }
1680
-
1681
- render() {
1682
- const {
1683
- isOpen,
1684
- selected,
1685
- filteredOptions,
1686
- isInputValuePersisted,
1687
- isInputFilterPersisted,
1688
- isCreatable
1689
- } = this.state;
1690
- const titleId = 'single-filtering-select-id';
1691
- return (
1692
- <div>
1693
- <span id={titleId} hidden>
1694
- Single select with filter
1695
- </span>
1696
- <Select
1697
- variant={SelectVariant.single}
1698
- onToggle={this.onToggle}
1699
- onSelect={this.onSelect}
1700
- selections={selected}
1701
- isOpen={isOpen}
1702
- placeholderText="Filter by status"
1703
- aria-labelledby={titleId}
1704
- onFilter={this.onFilter}
1705
- isGrouped
1706
- hasInlineFilter
1707
- isCreatable={isCreatable}
1708
- isInputValuePersisted={isInputValuePersisted}
1709
- isInputFilterPersisted={isInputFilterPersisted}
1710
- >
1711
- {this.options}
1712
- </Select>
1713
- <Checkbox
1714
- label="isInputValuePersisted"
1715
- isChecked={isInputValuePersisted}
1716
- onChange={this.toggleInputValuePersisted}
1717
- aria-label="toggle input value persisted"
1718
- id="toggle-inline-filter-input-value-persisted"
1719
- name="toggle-inline-filter-input-value-persisted"
1720
- />
1721
- <Checkbox
1722
- label="isInputFilterPersisted"
1723
- isChecked={isInputFilterPersisted}
1724
- onChange={this.toggleInputFilterPersisted}
1725
- aria-label="toggle input filter persisted"
1726
- id="toggle-inline-filter-input-filter-persisted"
1727
- name="toggle-inline-filter-input-filter-persisted"
1728
- />
1729
- <Checkbox
1730
- label="isCreatable"
1731
- isChecked={this.state.isCreatable}
1732
- onChange={this.toggleCreatable}
1733
- aria-label="toggle creatable checkbox"
1734
- id="toggle-inline-filter-creatable-typeahead"
1735
- name="toggle-inline-filter-creatable-typeahead"
1736
- />
1737
- </div>
1738
- );
1739
- }
1740
- }
1741
- ```
1742
-
1743
- ### Typeahead
1744
-
1745
- Typeahead is a select variant that replaces the typical button toggle for opening the select menu with a text input and button toggle combo. As a user types in the text input, the select menu will provide suggestions by filtering the select options.
1746
-
1747
- To make a typeahead, pass `variant=typeahead` into the `<Select>` component. To specify a label for the input field, use the `typeAheadAriaLabel` property.
1748
-
1749
- A few additional customization options are shown in the example below. Select each checkbox to visualize the following behavior:
1750
-
1751
- - To place a created item at the top of a typeahead list use the `isCreateOptionOnTop` property.
1752
- - To trigger a callback for newly created items, use the `onCreateOption` property.
1753
- - To reset the typeahead value after a user makes a selection, use the `shouldResetOnSelect` property.
1754
-
1755
- ```js
1756
- import React from 'react';
1757
- import { Checkbox } from '@patternfly/react-core';
1758
- import { Select, SelectOption, SelectVariant } from '@patternfly/react-core/deprecated';
1759
-
1760
- class TypeaheadSelectInput extends React.Component {
1761
- constructor(props) {
1762
- super(props);
1763
- this.defaultOptions = [
1764
- { value: 'Alabama' },
1765
- { value: 'Florida', description: 'This is a description' },
1766
- { value: 'New Jersey' },
1767
- { value: 'New Mexico' },
1768
- { value: 'New York' },
1769
- { value: 'North Carolina' }
1770
- ];
1771
-
1772
- this.state = {
1773
- options: this.defaultOptions,
1774
- isOpen: false,
1775
- selected: null,
1776
- isDisabled: false,
1777
- isCreatable: false,
1778
- isCreateOptionOnTop: false,
1779
- isInputValuePersisted: false,
1780
- isInputFilterPersisted: false,
1781
- hasOnCreateOption: false,
1782
- resetOnSelect: true
1783
- };
1784
-
1785
- this.onToggle = (_event, isOpen) => {
1786
- this.setState({
1787
- isOpen
1788
- });
1789
- };
1790
-
1791
- this.onSelect = (event, selection, isPlaceholder) => {
1792
- if (isPlaceholder) this.clearSelection();
1793
- else {
1794
- this.setState({
1795
- selected: selection,
1796
- isOpen: this.state.resetOnSelect ? false : this.state.isOpen
1797
- });
1798
- console.log('selected:', selection);
1799
- }
1800
- };
1801
-
1802
- this.onCreateOption = newValue => {
1803
- this.setState({
1804
- options: [...this.state.options, { value: newValue }]
1805
- });
1806
- };
1807
-
1808
- this.clearSelection = () => {
1809
- this.setState({
1810
- selected: null,
1811
- isOpen: false,
1812
- options: this.defaultOptions
1813
- });
1814
- };
1815
-
1816
- this.toggleDisabled = checked => {
1817
- this.setState({
1818
- isDisabled: checked
1819
- });
1820
- };
1821
-
1822
- this.toggleCreatable = checked => {
1823
- this.setState({
1824
- isCreatable: checked
1825
- });
1826
- };
1827
-
1828
- this.toggleCreateOptionOnTop = checked => {
1829
- this.setState({
1830
- isCreateOptionOnTop: checked
1831
- });
1832
- };
1833
-
1834
- this.toggleCreateNew = checked => {
1835
- this.setState({
1836
- hasOnCreateOption: checked
1837
- });
1838
- };
1839
-
1840
- this.toggleInputValuePersisted = checked => {
1841
- this.setState({
1842
- isInputValuePersisted: checked
1843
- });
1844
- };
1845
-
1846
- this.toggleInputFilterPersisted = checked => {
1847
- this.setState({
1848
- isInputFilterPersisted: checked
1849
- });
1850
- };
1851
-
1852
- this.toggleResetOnSelect = checked => {
1853
- this.setState({
1854
- resetOnSelect: checked
1855
- });
1856
- };
1857
- }
1858
-
1859
- render() {
1860
- const {
1861
- isOpen,
1862
- selected,
1863
- isDisabled,
1864
- isCreatable,
1865
- isCreateOptionOnTop,
1866
- hasOnCreateOption,
1867
- isInputValuePersisted,
1868
- isInputFilterPersisted,
1869
- resetOnSelect,
1870
- options
1871
- } = this.state;
1872
- const titleId = 'typeahead-select-id-1';
1873
- return (
1874
- <div>
1875
- <span id={titleId} hidden>
1876
- Select a state
1877
- </span>
1878
- <Select
1879
- variant={SelectVariant.typeahead}
1880
- typeAheadAriaLabel="Select a state"
1881
- onToggle={this.onToggle}
1882
- onSelect={this.onSelect}
1883
- onClear={this.clearSelection}
1884
- selections={selected}
1885
- isOpen={isOpen}
1886
- aria-labelledby={titleId}
1887
- isInputValuePersisted={isInputValuePersisted}
1888
- isInputFilterPersisted={isInputFilterPersisted}
1889
- placeholderText="Select a state"
1890
- isDisabled={isDisabled}
1891
- isCreatable={isCreatable}
1892
- isCreateOptionOnTop={isCreateOptionOnTop}
1893
- onCreateOption={(hasOnCreateOption && this.onCreateOption) || undefined}
1894
- shouldResetOnSelect={resetOnSelect}
1895
- >
1896
- {options.map((option, index) => (
1897
- <SelectOption
1898
- isDisabled={option.disabled}
1899
- key={index}
1900
- value={option.value}
1901
- {...(option.description && { description: option.description })}
1902
- />
1903
- ))}
1904
- </Select>
1905
- <Checkbox
1906
- label="isDisabled"
1907
- isChecked={this.state.isDisabled}
1908
- onChange={(_event, checked) => this.toggleDisabled(checked)}
1909
- aria-label="toggle disabled checkbox"
1910
- id="toggle-disabled-typeahead"
1911
- name="toggle-disabled-typeahead"
1912
- />
1913
- <Checkbox
1914
- label="isCreatable"
1915
- isChecked={this.state.isCreatable}
1916
- onChange={(_event, checked) => this.toggleCreatable(checked)}
1917
- aria-label="toggle creatable checkbox"
1918
- id="toggle-creatable-typeahead"
1919
- name="toggle-creatable-typeahead"
1920
- />
1921
- <Checkbox
1922
- label="isCreateOptionOnTop"
1923
- isChecked={this.state.isCreateOptionOnTop}
1924
- onChange={(_event, checked) => this.toggleCreateOptionOnTop(checked)}
1925
- aria-label="toggle createOptionOnTop checkbox"
1926
- id="toggle-create-option-on-top-typeahead"
1927
- name="toggle-create-option-on-top-typeahead"
1928
- />
1929
- <Checkbox
1930
- label="onCreateOption"
1931
- isChecked={this.state.hasOnCreateOption}
1932
- onChange={(_event, checked) => this.toggleCreateNew(checked)}
1933
- aria-label="toggle new checkbox"
1934
- id="toggle-new-typeahead"
1935
- name="toggle-new-typeahead"
1936
- />
1937
- <Checkbox
1938
- label="isInputValuePersisted"
1939
- isChecked={isInputValuePersisted}
1940
- onChange={(_event, checked) => this.toggleInputValuePersisted(checked)}
1941
- aria-label="toggle input value persisted"
1942
- id="toggle-input-value-persisted"
1943
- name="toggle-input-value-persisted"
1944
- />
1945
- <Checkbox
1946
- label="isInputFilterPersisted"
1947
- isChecked={isInputFilterPersisted}
1948
- onChange={(_event, checked) => this.toggleInputFilterPersisted(checked)}
1949
- aria-label="toggle input filter persisted"
1950
- id="toggle-input-filter-persisted"
1951
- name="toggle-input-filter-persisted"
1952
- />
1953
- <Checkbox
1954
- label="shouldResetOnSelect"
1955
- isChecked={this.state.resetOnSelect}
1956
- onChange={(_event, checked) => this.toggleResetOnSelect(checked)}
1957
- aria-label="toggle reset checkbox"
1958
- id="toggle-reset-typeahead"
1959
- name="toggle-reset-typeahead"
1960
- />
1961
- </div>
1962
- );
1963
- }
1964
- }
1965
- ```
1966
-
1967
- ### Grouped typeahead
1968
-
1969
- Typeahead matches items with user input across groups.
1970
-
1971
- ```js
1972
- import React from 'react';
1973
- import { Checkbox, Divider } from '@patternfly/react-core';
1974
- import { Select, SelectGroup, SelectOption, SelectVariant } from '@patternfly/react-core/deprecated';
1975
-
1976
- class GroupedTypeaheadSelectInput extends React.Component {
1977
- constructor(props) {
1978
- super(props);
1979
-
1980
- this.state = {
1981
- options: [
1982
- <SelectGroup label="Status" key="group1">
1983
- <SelectOption key={0} value="Running" />
1984
- <SelectOption key={1} value="Stopped" />
1985
- <SelectOption key={2} value="Down" />
1986
- <SelectOption key={3} value="Degraded" />
1987
- <SelectOption key={4} value="Needs maintenance" />
1988
- </SelectGroup>,
1989
- <Divider key="divider" />,
1990
- <SelectGroup label="Vendor names" key="group2">
1991
- <SelectOption key={5} value="Dell" />
1992
- <SelectOption key={6} value="Samsung" isDisabled />
1993
- <SelectOption key={7} value="Hewlett-Packard" />
1994
- </SelectGroup>
1995
- ],
1996
- newOptions: [],
1997
- isOpen: false,
1998
- selected: null,
1999
- isCreatable: false,
2000
- hasOnCreateOption: false
2001
- };
2002
-
2003
- this.onToggle = (_event, isOpen) => {
2004
- this.setState({
2005
- isOpen
2006
- });
2007
- };
2008
-
2009
- this.onSelect = (event, selection, isPlaceholder) => {
2010
- if (isPlaceholder) this.clearSelection();
2011
- else {
2012
- this.setState({
2013
- selected: selection,
2014
- isOpen: false
2015
- });
2016
- console.log('selected:', selection);
2017
- }
2018
- };
2019
-
2020
- this.onCreateOption = newValue => {
2021
- this.setState({
2022
- newOptions: [...this.state.newOptions, <SelectOption key={newValue} value={newValue} />]
2023
- });
2024
- };
2025
-
2026
- this.clearSelection = () => {
2027
- this.setState({
2028
- selected: null,
2029
- isOpen: false
2030
- });
2031
- };
2032
-
2033
- this.toggleCreatable = checked => {
2034
- this.setState({
2035
- isCreatable: checked
2036
- });
2037
- };
2038
-
2039
- this.toggleCreateNew = checked => {
2040
- this.setState({
2041
- hasOnCreateOption: checked
2042
- });
2043
- };
2044
- }
2045
-
2046
- render() {
2047
- const { isOpen, selected, isDisabled, isCreatable, hasOnCreateOption, options, newOptions } = this.state;
2048
- const titleId = 'grouped-typeahead-select-id';
2049
- const allOptions =
2050
- newOptions.length > 0
2051
- ? options.concat(
2052
- <SelectGroup label="Created" key="create-group">
2053
- {newOptions}
2054
- </SelectGroup>
2055
- )
2056
- : options;
2057
- return (
2058
- <div>
2059
- <span id={titleId} hidden>
2060
- Select a state
2061
- </span>
2062
- <Select
2063
- variant={SelectVariant.typeahead}
2064
- typeAheadAriaLabel="Select a state"
2065
- onToggle={this.onToggle}
2066
- onSelect={this.onSelect}
2067
- onClear={this.clearSelection}
2068
- selections={selected}
2069
- isOpen={isOpen}
2070
- aria-labelledby={titleId}
2071
- placeholderText="Select a state"
2072
- isGrouped
2073
- isCreatable={isCreatable}
2074
- onCreateOption={(hasOnCreateOption && this.onCreateOption) || undefined}
2075
- >
2076
- {allOptions}
2077
- </Select>
2078
- <Checkbox
2079
- label="isCreatable"
2080
- isChecked={this.state.isCreatable}
2081
- onChange={(_event, checked) => this.toggleCreatable(checked)}
2082
- aria-label="toggle creatable checkbox"
2083
- id="toggle-creatable-grouped-typeahead"
2084
- name="toggle-creatable-grouped-typeahead"
2085
- />
2086
- <Checkbox
2087
- label="onCreateOption"
2088
- isChecked={this.state.hasOnCreateOption}
2089
- onChange={(_event, checked) => this.toggleCreateNew(checked)}
2090
- aria-label="toggle new checkbox"
2091
- id="toggle-new-grouped-typeahead"
2092
- name="toggle-new-grouped-typeahead"
2093
- />
2094
- </div>
2095
- );
2096
- }
2097
- }
2098
- ```
2099
-
2100
- ### Typeahead with custom filtering
2101
-
2102
- You can add custom filtering to a select list to better fit needs that aren't covered by inline filtering. If you use custom filtering, use the `onFilter` property to trigger a callback with your custom filter implementation.
2103
-
2104
- ```js
2105
- import React from 'react';
2106
- import { Select, SelectOption, SelectVariant } from '@patternfly/react-core/deprecated';
2107
-
2108
- class TypeaheadSelectInput extends React.Component {
2109
- constructor(props) {
2110
- super(props);
2111
- this.options = [
2112
- <SelectOption key={0} value="Alabama" />,
2113
- <SelectOption key={1} value="Florida" />,
2114
- <SelectOption key={2} value="New Jersey" />,
2115
- <SelectOption key={3} value="New Mexico" />,
2116
- <SelectOption key={4} value="New York" />,
2117
- <SelectOption key={5} value="North Carolina" />
2118
- ];
2119
- this.state = {
2120
- isOpen: false,
2121
- selected: null
2122
- };
2123
-
2124
- this.onToggle = (_event, isOpen) => {
2125
- this.setState({
2126
- isOpen
2127
- });
2128
- };
2129
-
2130
- this.onSelect = (event, selection, isPlaceholder) => {
2131
- if (isPlaceholder) this.clearSelection();
2132
- else {
2133
- this.setState({
2134
- selected: selection,
2135
- isOpen: false
2136
- });
2137
- console.log('selected:', selection);
2138
- }
2139
- };
2140
-
2141
- this.clearSelection = () => {
2142
- this.setState({
2143
- selected: null,
2144
- isOpen: false
2145
- });
2146
- };
2147
-
2148
- this.customFilter = (_, value) => {
2149
- if (!value) {
2150
- return this.options;
2151
- }
2152
-
2153
- const input = new RegExp(value, 'i');
2154
- return this.options.filter(child => input.test(child.props.value));
2155
- };
2156
- }
2157
-
2158
- render() {
2159
- const { isOpen, selected } = this.state;
2160
- const titleId = 'typeahead-select-id-2';
2161
- return (
2162
- <div>
2163
- <span id={titleId} hidden>
2164
- Select a state
2165
- </span>
2166
- <Select
2167
- variant={SelectVariant.typeahead}
2168
- typeAheadAriaLabel="Select a state"
2169
- onToggle={this.onToggle}
2170
- onSelect={this.onSelect}
2171
- onClear={this.clearSelection}
2172
- onFilter={this.customFilter}
2173
- selections={selected}
2174
- isOpen={isOpen}
2175
- aria-labelledby={titleId}
2176
- placeholderText="Select a state"
2177
- >
2178
- {this.options}
2179
- </Select>
2180
- </div>
2181
- );
2182
- }
2183
- }
2184
- ```
2185
-
2186
- ### Multiple typeahead
2187
-
2188
- To create a multiple typeahead select variant, pass `variant={SelectVariant.typeaheadMulti}` into the `<Select>` component. Multiple typeaheads let users select multiple items from a select list. Selected items appear as chips in the select toggle.
2189
-
2190
- When many items are selected, you can hide overflowing items under a "more" button. The following example hides items after more than 3 are selected. To show hidden items, select the “more” button. Click "show less" to hide extra items again.
2191
-
2192
- ```js
2193
- import React from 'react';
2194
- import { Checkbox } from '@patternfly/react-core';
2195
- import { Select, SelectOption, SelectVariant } from '@patternfly/react-core/deprecated';
2196
-
2197
- class MultiTypeaheadSelectInput extends React.Component {
2198
- constructor(props) {
2199
- super(props);
2200
-
2201
- this.state = {
2202
- options: [
2203
- { value: 'Alabama', disabled: false },
2204
- { value: 'Florida', disabled: false },
2205
- { value: 'New Jersey', disabled: false },
2206
- { value: 'New Mexico', disabled: false, description: 'This is a description' },
2207
- { value: 'New York', disabled: false },
2208
- { value: 'North Carolina', disabled: false }
2209
- ],
2210
- isOpen: false,
2211
- selected: [],
2212
- isCreatable: false,
2213
- hasOnCreateOption: false,
2214
- hasDisabledOption: false,
2215
- resetOnSelect: true
2216
- };
2217
-
2218
- this.onCreateOption = newValue => {
2219
- this.setState({
2220
- options: [...this.state.options, { value: newValue }]
2221
- });
2222
- };
2223
-
2224
- this.onToggle = (_event, isOpen) => {
2225
- this.setState({
2226
- isOpen
2227
- });
2228
- };
2229
-
2230
- this.onSelect = (event, selection) => {
2231
- const { selected } = this.state;
2232
- if (selected.includes(selection)) {
2233
- this.setState(
2234
- prevState => ({ selected: prevState.selected.filter(item => item !== selection) }),
2235
- () => console.log('selections: ', this.state.selected)
2236
- );
2237
- } else {
2238
- this.setState(
2239
- prevState => ({ selected: [...prevState.selected, selection] }),
2240
- () => console.log('selections: ', this.state.selected)
2241
- );
2242
- }
2243
- };
2244
-
2245
- this.clearSelection = () => {
2246
- this.setState({
2247
- selected: [],
2248
- isOpen: false
2249
- });
2250
- };
2251
-
2252
- this.toggleCreatable = checked => {
2253
- this.setState({
2254
- isCreatable: checked
2255
- });
2256
- };
2257
-
2258
- this.toggleCreateNew = checked => {
2259
- this.setState({
2260
- hasOnCreateOption: checked
2261
- });
2262
- };
2263
-
2264
- this.toggleOptionDisabled = toggleIndex => () => {
2265
- this.setState(prevState => ({
2266
- hasDisabledOption: !prevState.hasDisabledOption,
2267
- options: prevState.options.map((option, index) =>
2268
- index === toggleIndex ? { ...option, disabled: !option.disabled } : option
2269
- )
2270
- }));
2271
- };
2272
-
2273
- this.toggleResetOnSelect = checked => {
2274
- this.setState({
2275
- resetOnSelect: checked
2276
- });
2277
- };
2278
- }
2279
-
2280
- render() {
2281
- const { isOpen, selected, isCreatable, hasOnCreateOption, resetOnSelect, options } = this.state;
2282
- const titleId = 'multi-typeahead-select-id-1';
2283
-
2284
- return (
2285
- <div>
2286
- <span id={titleId} hidden>
2287
- Select a state
2288
- </span>
2289
- <Select
2290
- variant={SelectVariant.typeaheadMulti}
2291
- typeAheadAriaLabel="Select a state"
2292
- onToggle={this.onToggle}
2293
- onSelect={this.onSelect}
2294
- onClear={this.clearSelection}
2295
- selections={selected}
2296
- isOpen={isOpen}
2297
- aria-labelledby={titleId}
2298
- placeholderText="Select a state"
2299
- isCreatable={isCreatable}
2300
- onCreateOption={(hasOnCreateOption && this.onCreateOption) || undefined}
2301
- shouldResetOnSelect={resetOnSelect}
2302
- >
2303
- {options.map((option, index) => (
2304
- <SelectOption
2305
- isDisabled={option.disabled}
2306
- key={index}
2307
- value={option.value}
2308
- {...(option.description && { description: option.description })}
2309
- />
2310
- ))}
2311
- </Select>
2312
- <Checkbox
2313
- label="isCreatable"
2314
- isChecked={this.state.isCreatable}
2315
- onChange={(_event, checked) => this.toggleCreatable(checked)}
2316
- aria-label="toggle creatable checkbox"
2317
- id="toggle-creatable-typeahead-multi"
2318
- name="toggle-creatable-typeahead-multi"
2319
- />
2320
- <Checkbox
2321
- label="onCreateOption"
2322
- isChecked={this.state.hasOnCreateOption}
2323
- onChange={(_event, checked) => this.toggleCreateNew(checked)}
2324
- aria-label="toggle new checkbox"
2325
- id="toggle-new-typeahead-multi"
2326
- name="toggle-new-typeahead-multi"
2327
- />
2328
- <Checkbox
2329
- label="isDisabled (1st option only)"
2330
- isChecked={this.state.hasDisabledOption}
2331
- onChange={this.toggleOptionDisabled(0)}
2332
- aria-label="toggle disable first option"
2333
- id="toggle-disable-first-option"
2334
- name="toggle-disable-first-option"
2335
- />
2336
- <Checkbox
2337
- label="shouldResetOnSelect"
2338
- isChecked={this.state.resetOnSelect}
2339
- onChange={(_event, checked) => this.toggleResetOnSelect(checked)}
2340
- aria-label="toggle multi reset checkbox"
2341
- id="toggle-reset-multi-typeahead"
2342
- name="toggle-reset-multi-typeahead"
2343
- />
2344
- </div>
2345
- );
2346
- }
2347
- }
2348
- ```
2349
-
2350
- ### Multiple typeahead with custom chips
2351
-
2352
- To customize the appearance of chips, use the `chipGroupProps` property. The `numChips` property allows you to control the number of items shown, while the `expandedText` and `collapsedText` properties allow you to control the labels of the expansion and collapse chips.
2353
-
2354
- ```js
2355
- import React from 'react';
2356
- import { Select, SelectOption, SelectVariant } from '@patternfly/react-core/deprecated';
2357
-
2358
- class MultiTypeaheadSelectInputWithChipGroupProps extends React.Component {
2359
- constructor(props) {
2360
- super(props);
2361
-
2362
- this.state = {
2363
- options: [
2364
- { value: 'Alabama', disabled: false },
2365
- { value: 'Florida', disabled: false },
2366
- { value: 'New Jersey', disabled: false },
2367
- { value: 'New Mexico', disabled: false, description: 'This is a description' },
2368
- { value: 'New York', disabled: false },
2369
- { value: 'North Carolina', disabled: false }
2370
- ],
2371
- isOpen: false,
2372
- selected: []
2373
- };
2374
-
2375
- this.onToggle = (_event, isOpen) => {
2376
- this.setState({
2377
- isOpen
2378
- });
2379
- };
2380
-
2381
- this.onSelect = (event, selection) => {
2382
- const { selected } = this.state;
2383
- if (selected.includes(selection)) {
2384
- this.setState(
2385
- prevState => ({ selected: prevState.selected.filter(item => item !== selection) }),
2386
- () => console.log('selections: ', this.state.selected)
2387
- );
2388
- } else {
2389
- this.setState(
2390
- prevState => ({ selected: [...prevState.selected, selection] }),
2391
- () => console.log('selections: ', this.state.selected)
2392
- );
2393
- }
2394
- };
2395
-
2396
- this.clearSelection = () => {
2397
- this.setState({
2398
- selected: [],
2399
- isOpen: false
2400
- });
2401
- };
2402
- }
2403
-
2404
- render() {
2405
- const { isOpen, selected, isCreatable, hasOnCreateOption } = this.state;
2406
- const titleId = 'multi-typeahead-custom-chip-group-props-id-1';
2407
-
2408
- return (
2409
- <div>
2410
- <span id={titleId} hidden>
2411
- Select a state
2412
- </span>
2413
- <Select
2414
- chipGroupProps={{ numChips: 1, expandedText: 'Hide', collapsedText: 'Show ${remaining}' }}
2415
- variant={SelectVariant.typeaheadMulti}
2416
- typeAheadAriaLabel="Select a state"
2417
- onToggle={this.onToggle}
2418
- onSelect={this.onSelect}
2419
- onClear={this.clearSelection}
2420
- selections={selected}
2421
- isOpen={isOpen}
2422
- aria-labelledby={titleId}
2423
- placeholderText="Select a state"
2424
- >
2425
- {this.state.options.map((option, index) => (
2426
- <SelectOption
2427
- isDisabled={option.disabled}
2428
- key={index}
2429
- value={option.value}
2430
- {...(option.description && { description: option.description })}
2431
- />
2432
- ))}
2433
- </Select>
2434
- </div>
2435
- );
2436
- }
2437
- }
2438
- ```
2439
-
2440
- ### Multiple typeahead with chip group
2441
-
2442
- To customize chips even more, render a [`<ChipGroup>`](/components/chip-group) component and pass it into the `chipGroupComponent` property of the `<Select>` component.
2443
-
2444
- ```js
2445
- import React from 'react';
2446
- import { ChipGroup, Chip } from '@patternfly/react-core/deprecated';
2447
- import { Select, SelectOption, SelectVariant } from '@patternfly/react-core/deprecated';
2448
-
2449
- class MultiTypeaheadSelectInputWithChipGroupProps extends React.Component {
2450
- constructor(props) {
2451
- super(props);
2452
-
2453
- this.state = {
2454
- options: [
2455
- { value: 'Alabama', disabled: false },
2456
- { value: 'Florida', disabled: false },
2457
- { value: 'New Jersey', disabled: false },
2458
- { value: 'New Mexico', disabled: false, description: 'This is a description' },
2459
- { value: 'New York', disabled: false },
2460
- { value: 'North Carolina', disabled: false }
2461
- ],
2462
- isOpen: false,
2463
- selected: []
2464
- };
2465
-
2466
- this.onToggle = (_event, isOpen) => {
2467
- this.setState({
2468
- isOpen
2469
- });
2470
- };
2471
-
2472
- this.onSelect = (event, selection) => {
2473
- const { selected } = this.state;
2474
- if (selected.includes(selection)) {
2475
- this.setState(
2476
- prevState => ({ selected: prevState.selected.filter(item => item !== selection) }),
2477
- () => console.log('selections: ', this.state.selected)
2478
- );
2479
- } else {
2480
- this.setState(
2481
- prevState => ({ selected: [...prevState.selected, selection] }),
2482
- () => console.log('selections: ', this.state.selected)
2483
- );
2484
- }
2485
- };
2486
-
2487
- this.clearSelection = () => {
2488
- this.setState({
2489
- selected: [],
2490
- isOpen: false
2491
- });
2492
- };
2493
- this.chipGroupComponent = () => {
2494
- const { selected } = this.state;
2495
- return (
2496
- <ChipGroup>
2497
- {(selected || []).map((currentChip, index) => (
2498
- <Chip
2499
- isReadOnly={index === 0 ? true : false}
2500
- key={currentChip}
2501
- onClick={event => this.onSelect(event, currentChip)}
2502
- >
2503
- {currentChip}
2504
- </Chip>
2505
- ))}
2506
- </ChipGroup>
2507
- );
2508
- };
2509
- }
2510
-
2511
- render() {
2512
- const { isOpen, selected, isCreatable, hasOnCreateOption } = this.state;
2513
- const titleId = 'multi-typeahead-render-chip-group-props-id-1';
2514
-
2515
- return (
2516
- <div>
2517
- <span id={titleId} hidden>
2518
- Select a state
2519
- </span>
2520
- <Select
2521
- chipGroupProps={{ numChips: 1, expandedText: 'Hide', collapsedText: 'Show ${remaining}' }}
2522
- variant={SelectVariant.typeaheadMulti}
2523
- typeAheadAriaLabel="Select a state"
2524
- onToggle={this.onToggle}
2525
- onSelect={this.onSelect}
2526
- onClear={this.clearSelection}
2527
- selections={selected}
2528
- isOpen={isOpen}
2529
- aria-labelledby={titleId}
2530
- placeholderText="Select a state"
2531
- chipGroupComponent={this.chipGroupComponent()}
2532
- >
2533
- {this.state.options.map((option, index) => (
2534
- <SelectOption
2535
- isDisabled={option.disabled}
2536
- key={index}
2537
- value={option.value}
2538
- {...(option.description && { description: option.description })}
2539
- />
2540
- ))}
2541
- </Select>
2542
- </div>
2543
- );
2544
- }
2545
- }
2546
- ```
2547
-
2548
- ### Multiple typeahead with custom objects
2549
-
2550
- A `<SelectOption>` can have an object passed into the `value` property in order to store additional data beyond just a string value. The object passed in must have a `toString` function that returns a string to display in the `SelectMenu`.
2551
-
2552
- ```js
2553
- import React from 'react';
2554
- import { Divider } from '@patternfly/react-core';
2555
- import { Select, SelectOption, SelectVariant } from '@patternfly/react-core/deprecated';
2556
-
2557
- class MultiTypeaheadSelectInputCustomObjects extends React.Component {
2558
- constructor(props) {
2559
- super(props);
2560
- this.createState = (name, abbreviation, capital, founded) => {
2561
- return {
2562
- name: name,
2563
- abbreviation: abbreviation,
2564
- capital: capital,
2565
- founded: founded,
2566
- toString: function() {
2567
- return `${this.name} (${this.abbreviation}) - Founded: ${this.founded}`;
2568
- },
2569
- compareTo: function(value) {
2570
- return this.toString()
2571
- .toLowerCase()
2572
- .includes(value.toString().toLowerCase());
2573
- }
2574
- };
2575
- };
2576
- this.options = [
2577
- <SelectOption key={0} value={this.createState('Alabama', 'AL', 'Montgomery', 1846)} />,
2578
- <Divider component="li" key={111} />,
2579
- <SelectOption key={1} value={this.createState('Florida', 'FL', 'Tailahassee', 1845)} />,
2580
- <SelectOption key={2} value={this.createState('New Jersey', 'NJ', 'Trenton', 1787)} />,
2581
- <SelectOption key={3} value={this.createState('New Mexico', 'NM', 'Santa Fe', 1912)} />,
2582
- <SelectOption key={4} value={this.createState('New York', 'NY', 'Albany', 1788)} />,
2583
- <SelectOption key={5} value={this.createState('North Carolina', 'NC', 'Raleigh', 1789)} />
2584
- ];
2585
-
2586
- this.state = {
2587
- isOpen: false,
2588
- selected: []
2589
- };
2590
-
2591
- this.onToggle = (_event, isOpen) => {
2592
- this.setState({
2593
- isOpen
2594
- });
2595
- };
2596
-
2597
- this.onSelect = (event, selection) => {
2598
- const { selected } = this.state;
2599
- if (selected.includes(selection)) {
2600
- this.setState(
2601
- prevState => ({ selected: prevState.selected.filter(item => item !== selection) }),
2602
- () => console.log('selections: ', this.state.selected)
2603
- );
2604
- } else {
2605
- this.setState(
2606
- prevState => ({ selected: [...prevState.selected, selection] }),
2607
- () => console.log('selections: ', this.state.selected)
2608
- );
2609
- }
2610
- };
2611
-
2612
- this.clearSelection = () => {
2613
- this.setState({
2614
- selected: [],
2615
- isOpen: false
2616
- });
2617
- };
2618
- }
2619
-
2620
- render() {
2621
- const { isOpen, selected } = this.state;
2622
- const titleId = 'multi-typeahead-select-id-2';
2623
-
2624
- return (
2625
- <div>
2626
- <span id={titleId} hidden>
2627
- Select a state
2628
- </span>
2629
- <Select
2630
- variant={SelectVariant.typeaheadMulti}
2631
- typeAheadAriaLabel="Select a state"
2632
- onToggle={this.onToggle}
2633
- onSelect={this.onSelect}
2634
- onClear={this.clearSelection}
2635
- onFilter={this.customFilter}
2636
- selections={selected}
2637
- isOpen={isOpen}
2638
- aria-labelledby={titleId}
2639
- placeholderText="Select a state"
2640
- >
2641
- {this.options}
2642
- </Select>
2643
- </div>
2644
- );
2645
- }
2646
- }
2647
- ```
2648
-
2649
- ### Plain multiple typeahead
2650
-
2651
- To plainly style a typeahead, use the `isPlain` property.
2652
-
2653
- ```js
2654
- import React from 'react';
2655
- import { Select, SelectOption, SelectVariant } from '@patternfly/react-core/deprecated';
2656
-
2657
- class PlainSelectInput extends React.Component {
2658
- constructor(props) {
2659
- super(props);
2660
- this.options = [
2661
- { value: 'Alabama', disabled: false },
2662
- { value: 'Florida', disabled: false },
2663
- { value: 'New Jersey', disabled: false },
2664
- { value: 'New Mexico', disabled: false },
2665
- { value: 'New York', disabled: false },
2666
- { value: 'North Carolina', disabled: false }
2667
- ];
2668
-
2669
- this.state = {
2670
- isOpen: false,
2671
- isPlain: true,
2672
- selected: []
2673
- };
2674
-
2675
- this.onToggle = (_event, isOpen) => {
2676
- this.setState({
2677
- isOpen
2678
- });
2679
- };
2680
-
2681
- this.onSelect = (event, selection) => {
2682
- const { selected } = this.state;
2683
- if (selected.includes(selection)) {
2684
- this.setState(
2685
- prevState => ({ selected: prevState.selected.filter(item => item !== selection) }),
2686
- () => console.log('selections: ', this.state.selected)
2687
- );
2688
- } else {
2689
- this.setState(
2690
- prevState => ({ selected: [...prevState.selected, selection] }),
2691
- () => console.log('selections: ', this.state.selected)
2692
- );
2693
- }
2694
- };
2695
-
2696
- this.clearSelection = () => {
2697
- this.setState({
2698
- selected: [],
2699
- isOpen: false
2700
- });
2701
- };
2702
- }
2703
-
2704
- render() {
2705
- const { isOpen, isPlain, selected } = this.state;
2706
- const titleId = 'plain-typeahead-select-id';
2707
-
2708
- return (
2709
- <div>
2710
- <span id={titleId} hidden>
2711
- Select a state
2712
- </span>
2713
- <Select
2714
- variant={SelectVariant.typeaheadMulti}
2715
- typeAheadAriaLabel="Select a state"
2716
- onToggle={this.onToggle}
2717
- onSelect={this.onSelect}
2718
- onClear={this.clearSelection}
2719
- selections={selected}
2720
- isOpen={isOpen}
2721
- isPlain={isPlain}
2722
- aria-labelledby={titleId}
2723
- placeholderText="Select a state"
2724
- >
2725
- {this.options.map((option, index) => (
2726
- <SelectOption isDisabled={option.disabled} key={index} value={option.value} />
2727
- ))}
2728
- </Select>
2729
- </div>
2730
- );
2731
- }
2732
- }
2733
- ```
2734
-
2735
- ### Custom menu content
2736
-
2737
- To add custom menu content, use the `customContent` property.
2738
-
2739
- ```js
2740
- import React from 'react';
2741
- import CubeIcon from '@patternfly/react-icons/dist/esm/icons/cube-icon';
2742
- import { Checkbox } from '@patternfly/react-core';
2743
- import { Select, SelectOption, SelectDirection } from '@patternfly/react-core/deprecated';
2744
-
2745
- class SingleSelectInput extends React.Component {
2746
- constructor(props) {
2747
- super(props);
2748
- this.state = {
2749
- isOpen: false,
2750
- isDisabled: false,
2751
- direction: SelectDirection.down
2752
- };
2753
-
2754
- this.onToggle = (_event, isOpen) => {
2755
- this.setState({
2756
- isOpen
2757
- });
2758
- };
2759
-
2760
- this.toggleDisabled = checked => {
2761
- this.setState({
2762
- isDisabled: checked
2763
- });
2764
- };
2765
-
2766
- this.toggleDirection = () => {
2767
- if (this.state.direction === SelectDirection.up) {
2768
- this.setState({
2769
- direction: SelectDirection.down
2770
- });
2771
- } else {
2772
- this.setState({
2773
- direction: SelectDirection.up
2774
- });
2775
- }
2776
- };
2777
- }
2778
-
2779
- render() {
2780
- const { isOpen, selected, isDisabled, direction } = this.state;
2781
- const titleId = 'title-id-2';
2782
- return (
2783
- <div>
2784
- <span id={titleId} hidden>
2785
- Title
2786
- </span>
2787
- <Select
2788
- aria-label="Select Input"
2789
- onToggle={this.onToggle}
2790
- isOpen={isOpen}
2791
- aria-labelledby={titleId}
2792
- isDisabled={isDisabled}
2793
- direction={direction}
2794
- customContent="[Panel contents here]"
2795
- placeholderText="Filter by birth month"
2796
- />
2797
- <Checkbox
2798
- label="isDisabled"
2799
- isChecked={this.state.isDisabled}
2800
- onChange={(_event, checked) => this.toggleDisabled(checked)}
2801
- aria-label="disabled checkbox panel"
2802
- id="toggle-disabled-panel"
2803
- name="toggle-disabled-panel"
2804
- />
2805
- <Checkbox
2806
- label="Expands up"
2807
- isChecked={direction === SelectDirection.up}
2808
- onChange={this.toggleDirection}
2809
- aria-label="direction checkbox panel"
2810
- id="toggle-direction-panel"
2811
- name="toggle-direction-panel"
2812
- />
2813
- </div>
2814
- );
2815
- }
2816
- }
2817
- ```
2818
-
2819
- ### Appending document body vs parent
2820
-
2821
- Avoid passing in `document.body` to the `menuAppendTo` property. Doing so can cause accessibility issues because this prevents users from being able to enter the contents of the select options via assistive technologies (like keyboards or screen readers). Instead, pass in `parent` to achieve the same result without sacrificing accessibility.
2822
-
2823
- The following example demonstrates both methods. When the dropdown is opened, both select variants manage focus the same way, but behave differently when the tab key is pressed after an option is selected.
2824
-
2825
- - For the `document.body` variant, the focus will be placed at the end of the page, since that is where the dropdown content is appended to in the DOM (rather than focus being placed on the second Select variant as one might expect).
2826
- - For the `parent` variant, however, the focus will be placed on the next tab-able element (the "Toggle JS code" button for the code editor in this case).
2827
-
2828
- ```js
2829
- import React from 'react';
2830
- import { Flex, FlexItem } from '@patternfly/react-core';
2831
- import { Select, SelectOption } from '@patternfly/react-core/deprecated';
2832
-
2833
- class SelectDocumentBodyVsParent extends React.Component {
2834
- constructor(props) {
2835
- super(props);
2836
- this.bodyOptions = [
2837
- <SelectOption key={0} value="Select a title - document body" isPlaceholder />,
2838
- <SelectOption key={1} value="Mr" />,
2839
- <SelectOption key={2} value="Miss" />,
2840
- <SelectOption key={3} value="Mrs" />,
2841
- <SelectOption key={4} value="Ms" />,
2842
- <SelectOption key={6} value="Dr" />,
2843
- <SelectOption key={7} value="Other" />
2844
- ];
2845
-
2846
- this.parentOptions = [
2847
- <SelectOption key={0} value="Select a title - parent" isPlaceholder />,
2848
- <SelectOption key={1} value="Mr" />,
2849
- <SelectOption key={2} value="Miss" />,
2850
- <SelectOption key={3} value="Mrs" />,
2851
- <SelectOption key={4} value="Ms" />,
2852
- <SelectOption key={6} value="Dr" />,
2853
- <SelectOption key={7} value="Other" />
2854
- ];
2855
-
2856
- this.state = {
2857
- isBodyOpen: false,
2858
- isParentOpen: false,
2859
- bodySelected: null,
2860
- parentSelected: null
2861
- };
2862
-
2863
- this.onBodyToggle = (_event, isBodyOpen) => {
2864
- this.setState({
2865
- isBodyOpen
2866
- });
2867
- };
2868
-
2869
- this.onParentToggle = (_event, isParentOpen) => {
2870
- this.setState({
2871
- isParentOpen
2872
- });
2873
- };
2874
-
2875
- this.onBodySelect = (event, selection, isPlaceholder) => {
2876
- if (isPlaceholder) this.clearSelection();
2877
- else {
2878
- this.setState({
2879
- bodySelected: selection,
2880
- isBodyOpen: false
2881
- });
2882
- console.log('selected on document body:', selection);
2883
- }
2884
- };
2885
-
2886
- this.onParentSelect = (event, selection, isPlaceholder) => {
2887
- if (isPlaceholder) this.clearSelection();
2888
- else {
2889
- this.setState({
2890
- parentSelected: selection,
2891
- isParentOpen: false
2892
- });
2893
- console.log('selected on parent:', selection);
2894
- }
2895
- };
2896
-
2897
- this.clearSelection = () => {
2898
- this.setState({
2899
- selected: null,
2900
- isOpen: false
2901
- });
2902
- };
2903
- }
2904
-
2905
- render() {
2906
- const { isBodyOpen, isParentOpen, bodySelected, parentSelected } = this.state;
2907
-
2908
- return (
2909
- <Flex space={{ default: 'spacerMd' }} direction={{ default: 'column' }}>
2910
- <FlexItem>
2911
- <Select
2912
- aria-label="Select Input for Document Body"
2913
- onToggle={this.onBodyToggle}
2914
- onSelect={this.onBodySelect}
2915
- selections={bodySelected}
2916
- isOpen={isBodyOpen}
2917
- menuAppendTo={() => document.body}
2918
- >
2919
- {this.bodyOptions}
2920
- </Select>
2921
- </FlexItem>
2922
- <FlexItem>
2923
- <Select
2924
- aria-label="Select Input for Parent"
2925
- onToggle={this.onParentToggle}
2926
- onSelect={this.onParentSelect}
2927
- selections={parentSelected}
2928
- isOpen={isParentOpen}
2929
- menuAppendTo="parent"
2930
- >
2931
- {this.parentOptions}
2932
- </Select>
2933
- </FlexItem>
2934
- </Flex>
2935
- );
2936
- }
2937
- }
2938
- ```