@patternfly/react-core 5.0.0-alpha.62 → 5.0.0-alpha.63

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 (227) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/esm/components/CalendarMonth/CalendarMonth.d.ts.map +1 -1
  3. package/dist/esm/components/CalendarMonth/CalendarMonth.js +9 -11
  4. package/dist/esm/components/CalendarMonth/CalendarMonth.js.map +1 -1
  5. package/dist/esm/components/DualListSelector/DualListSelectorControl.d.ts +1 -1
  6. package/dist/esm/components/Menu/MenuItem.d.ts +1 -1
  7. package/dist/esm/components/MenuToggle/MenuToggle.d.ts.map +1 -1
  8. package/dist/esm/components/MenuToggle/MenuToggle.js +3 -1
  9. package/dist/esm/components/MenuToggle/MenuToggle.js.map +1 -1
  10. package/dist/esm/components/Select/Select.d.ts +26 -192
  11. package/dist/esm/components/Select/Select.d.ts.map +1 -1
  12. package/dist/esm/components/Select/Select.js +51 -935
  13. package/dist/esm/components/Select/Select.js.map +1 -1
  14. package/dist/esm/components/Select/SelectGroup.d.ts +7 -8
  15. package/dist/esm/components/Select/SelectGroup.d.ts.map +1 -1
  16. package/dist/esm/components/Select/SelectGroup.js +4 -7
  17. package/dist/esm/components/Select/SelectGroup.js.map +1 -1
  18. package/dist/{js/next → esm}/components/Select/SelectList.d.ts +1 -1
  19. package/dist/esm/components/Select/SelectList.d.ts.map +1 -0
  20. package/dist/esm/{next/components → components}/Select/SelectList.js +1 -1
  21. package/dist/esm/components/Select/SelectList.js.map +1 -0
  22. package/dist/esm/components/Select/SelectOption.d.ts +13 -66
  23. package/dist/esm/components/Select/SelectOption.d.ts.map +1 -1
  24. package/dist/esm/components/Select/SelectOption.js +6 -192
  25. package/dist/esm/components/Select/SelectOption.js.map +1 -1
  26. package/dist/esm/components/Select/index.d.ts +1 -1
  27. package/dist/esm/components/Select/index.d.ts.map +1 -1
  28. package/dist/esm/components/Select/index.js +1 -1
  29. package/dist/esm/components/Select/index.js.map +1 -1
  30. package/dist/esm/deprecated/components/Select/Select.d.ts +199 -0
  31. package/dist/esm/deprecated/components/Select/Select.d.ts.map +1 -0
  32. package/dist/esm/deprecated/components/Select/Select.js +940 -0
  33. package/dist/esm/deprecated/components/Select/Select.js.map +1 -0
  34. package/dist/esm/deprecated/components/Select/SelectGroup.d.ts +13 -0
  35. package/dist/esm/deprecated/components/Select/SelectGroup.d.ts.map +1 -0
  36. package/dist/esm/deprecated/components/Select/SelectGroup.js +13 -0
  37. package/dist/esm/deprecated/components/Select/SelectGroup.js.map +1 -0
  38. package/dist/esm/deprecated/components/Select/SelectMenu.d.ts.map +1 -0
  39. package/dist/esm/{components → deprecated/components}/Select/SelectMenu.js +1 -1
  40. package/dist/esm/deprecated/components/Select/SelectMenu.js.map +1 -0
  41. package/dist/esm/deprecated/components/Select/SelectOption.d.ts +73 -0
  42. package/dist/esm/deprecated/components/Select/SelectOption.d.ts.map +1 -0
  43. package/dist/esm/deprecated/components/Select/SelectOption.js +196 -0
  44. package/dist/esm/deprecated/components/Select/SelectOption.js.map +1 -0
  45. package/dist/esm/deprecated/components/Select/SelectToggle.d.ts.map +1 -0
  46. package/dist/esm/{components → deprecated/components}/Select/SelectToggle.js +2 -2
  47. package/dist/esm/deprecated/components/Select/SelectToggle.js.map +1 -0
  48. package/dist/esm/{next → deprecated}/components/Select/index.d.ts +1 -1
  49. package/dist/esm/deprecated/components/Select/index.d.ts.map +1 -0
  50. package/dist/esm/{next → deprecated}/components/Select/index.js +1 -1
  51. package/dist/esm/deprecated/components/Select/index.js.map +1 -0
  52. package/dist/esm/deprecated/components/Select/selectConstants.d.ts.map +1 -0
  53. package/dist/esm/deprecated/components/Select/selectConstants.js.map +1 -0
  54. package/dist/esm/deprecated/components/index.d.ts +1 -0
  55. package/dist/esm/deprecated/components/index.d.ts.map +1 -1
  56. package/dist/esm/deprecated/components/index.js +1 -0
  57. package/dist/esm/deprecated/components/index.js.map +1 -1
  58. package/dist/esm/next/components/index.d.ts +0 -1
  59. package/dist/esm/next/components/index.d.ts.map +1 -1
  60. package/dist/esm/next/components/index.js +0 -1
  61. package/dist/esm/next/components/index.js.map +1 -1
  62. package/dist/js/components/CalendarMonth/CalendarMonth.d.ts.map +1 -1
  63. package/dist/js/components/CalendarMonth/CalendarMonth.js +8 -10
  64. package/dist/js/components/CalendarMonth/CalendarMonth.js.map +1 -1
  65. package/dist/js/components/DualListSelector/DualListSelectorControl.d.ts +1 -1
  66. package/dist/js/components/Menu/MenuItem.d.ts +1 -1
  67. package/dist/js/components/MenuToggle/MenuToggle.d.ts.map +1 -1
  68. package/dist/js/components/MenuToggle/MenuToggle.js +3 -1
  69. package/dist/js/components/MenuToggle/MenuToggle.js.map +1 -1
  70. package/dist/js/components/Select/Select.d.ts +26 -192
  71. package/dist/js/components/Select/Select.d.ts.map +1 -1
  72. package/dist/js/components/Select/Select.js +51 -936
  73. package/dist/js/components/Select/Select.js.map +1 -1
  74. package/dist/js/components/Select/SelectGroup.d.ts +7 -8
  75. package/dist/js/components/Select/SelectGroup.d.ts.map +1 -1
  76. package/dist/js/components/Select/SelectGroup.js +4 -7
  77. package/dist/js/components/Select/SelectGroup.js.map +1 -1
  78. package/dist/{esm/next → js}/components/Select/SelectList.d.ts +1 -1
  79. package/dist/js/components/Select/SelectList.d.ts.map +1 -0
  80. package/dist/js/{next/components → components}/Select/SelectList.js +1 -1
  81. package/dist/js/components/Select/SelectList.js.map +1 -0
  82. package/dist/js/components/Select/SelectOption.d.ts +13 -66
  83. package/dist/js/components/Select/SelectOption.d.ts.map +1 -1
  84. package/dist/js/components/Select/SelectOption.js +7 -193
  85. package/dist/js/components/Select/SelectOption.js.map +1 -1
  86. package/dist/js/components/Select/index.d.ts +1 -1
  87. package/dist/js/components/Select/index.d.ts.map +1 -1
  88. package/dist/js/components/Select/index.js +1 -1
  89. package/dist/js/components/Select/index.js.map +1 -1
  90. package/dist/js/deprecated/components/Select/Select.d.ts +199 -0
  91. package/dist/js/deprecated/components/Select/Select.d.ts.map +1 -0
  92. package/dist/js/deprecated/components/Select/Select.js +944 -0
  93. package/dist/js/deprecated/components/Select/Select.js.map +1 -0
  94. package/dist/js/deprecated/components/Select/SelectGroup.d.ts +13 -0
  95. package/dist/js/deprecated/components/Select/SelectGroup.d.ts.map +1 -0
  96. package/dist/js/deprecated/components/Select/SelectGroup.js +17 -0
  97. package/dist/js/deprecated/components/Select/SelectGroup.js.map +1 -0
  98. package/dist/js/deprecated/components/Select/SelectMenu.d.ts.map +1 -0
  99. package/dist/js/{components → deprecated/components}/Select/SelectMenu.js +1 -1
  100. package/dist/js/deprecated/components/Select/SelectMenu.js.map +1 -0
  101. package/dist/js/deprecated/components/Select/SelectOption.d.ts +73 -0
  102. package/dist/js/deprecated/components/Select/SelectOption.d.ts.map +1 -0
  103. package/dist/js/deprecated/components/Select/SelectOption.js +200 -0
  104. package/dist/js/deprecated/components/Select/SelectOption.js.map +1 -0
  105. package/dist/js/deprecated/components/Select/SelectToggle.d.ts.map +1 -0
  106. package/dist/js/{components → deprecated/components}/Select/SelectToggle.js +2 -2
  107. package/dist/js/deprecated/components/Select/SelectToggle.js.map +1 -0
  108. package/dist/js/{next → deprecated}/components/Select/index.d.ts +1 -1
  109. package/dist/js/deprecated/components/Select/index.d.ts.map +1 -0
  110. package/dist/js/{next → deprecated}/components/Select/index.js +1 -1
  111. package/dist/js/deprecated/components/Select/index.js.map +1 -0
  112. package/dist/js/deprecated/components/Select/selectConstants.d.ts.map +1 -0
  113. package/dist/js/deprecated/components/Select/selectConstants.js.map +1 -0
  114. package/dist/js/deprecated/components/index.d.ts +1 -0
  115. package/dist/js/deprecated/components/index.d.ts.map +1 -1
  116. package/dist/js/deprecated/components/index.js +1 -0
  117. package/dist/js/deprecated/components/index.js.map +1 -1
  118. package/dist/js/next/components/index.d.ts +0 -1
  119. package/dist/js/next/components/index.d.ts.map +1 -1
  120. package/dist/js/next/components/index.js +0 -1
  121. package/dist/js/next/components/index.js.map +1 -1
  122. package/dist/umd/react-core.min.js +3 -3
  123. package/package.json +2 -2
  124. package/src/components/CalendarMonth/CalendarMonth.tsx +25 -15
  125. package/src/components/DatePicker/__tests__/__snapshots__/DatePicker.test.tsx.snap +22 -31
  126. package/src/components/LoginPage/examples/LoginPageLanguageSelect.tsx +28 -19
  127. package/src/components/MenuToggle/MenuToggle.tsx +2 -1
  128. package/src/components/MenuToggle/__tests__/__snapshots__/MenuToggle.test.tsx.snap +18 -10
  129. package/src/components/Select/Select.tsx +113 -1475
  130. package/src/components/Select/SelectGroup.tsx +13 -25
  131. package/src/{next/components → components}/Select/SelectList.tsx +1 -1
  132. package/src/components/Select/SelectOption.tsx +22 -452
  133. package/src/components/Select/examples/Select.md +11 -2897
  134. package/src/{next/components → components}/Select/examples/SelectBasic.tsx +1 -2
  135. package/src/{next/components → components}/Select/examples/SelectCheckbox.tsx +1 -2
  136. package/src/{next/components → components}/Select/examples/SelectGrouped.tsx +1 -2
  137. package/src/{next/components → components}/Select/examples/SelectMultiTypeahead.tsx +4 -1
  138. package/src/{next/components → components}/Select/examples/SelectTypeahead.tsx +4 -1
  139. package/src/components/Select/index.ts +1 -1
  140. package/src/components/Toolbar/__tests__/Toolbar.test.tsx +3 -21
  141. package/src/components/Toolbar/__tests__/__snapshots__/Toolbar.test.tsx.snap +12 -124
  142. package/src/components/Toolbar/examples/Toolbar.md +0 -1
  143. package/src/components/Toolbar/examples/ToolbarComponentManagedToggleGroups.tsx +59 -63
  144. package/src/components/Toolbar/examples/ToolbarConsumerManagedToggleGroups.tsx +58 -62
  145. package/src/components/Toolbar/examples/ToolbarCustomChipGroupContent.tsx +107 -23
  146. package/src/components/Toolbar/examples/ToolbarGroups.tsx +96 -59
  147. package/src/components/Toolbar/examples/ToolbarStacked.tsx +56 -39
  148. package/src/components/Toolbar/examples/ToolbarWithFilters.tsx +115 -28
  149. package/src/components/Tooltip/examples/TooltipOptions.tsx +53 -23
  150. package/src/demos/Card/Card.md +39 -23
  151. package/src/demos/CardDemos.md +99 -46
  152. package/src/demos/Toolbar.md +51 -21
  153. package/src/demos/examples/Tabs/TabsAndTable.tsx +5 -22
  154. package/src/deprecated/components/Select/Select.tsx +1495 -0
  155. package/src/deprecated/components/Select/SelectGroup.tsx +36 -0
  156. package/src/{components → deprecated/components}/Select/SelectMenu.tsx +2 -2
  157. package/src/deprecated/components/Select/SelectOption.tsx +461 -0
  158. package/src/{components → deprecated/components}/Select/SelectToggle.tsx +3 -3
  159. package/src/{components → deprecated/components}/Select/__tests__/Select.test.tsx +1 -1
  160. package/src/deprecated/components/Select/examples/Select.md +2937 -0
  161. package/src/{next → deprecated}/components/Select/index.ts +1 -1
  162. package/src/deprecated/components/index.ts +1 -0
  163. package/src/next/components/index.ts +0 -1
  164. package/dist/esm/components/Select/SelectMenu.d.ts.map +0 -1
  165. package/dist/esm/components/Select/SelectMenu.js.map +0 -1
  166. package/dist/esm/components/Select/SelectToggle.d.ts.map +0 -1
  167. package/dist/esm/components/Select/SelectToggle.js.map +0 -1
  168. package/dist/esm/components/Select/selectConstants.d.ts.map +0 -1
  169. package/dist/esm/components/Select/selectConstants.js.map +0 -1
  170. package/dist/esm/next/components/Select/Select.d.ts +0 -33
  171. package/dist/esm/next/components/Select/Select.d.ts.map +0 -1
  172. package/dist/esm/next/components/Select/Select.js +0 -56
  173. package/dist/esm/next/components/Select/Select.js.map +0 -1
  174. package/dist/esm/next/components/Select/SelectGroup.d.ts +0 -12
  175. package/dist/esm/next/components/Select/SelectGroup.d.ts.map +0 -1
  176. package/dist/esm/next/components/Select/SelectGroup.js +0 -10
  177. package/dist/esm/next/components/Select/SelectGroup.js.map +0 -1
  178. package/dist/esm/next/components/Select/SelectList.d.ts.map +0 -1
  179. package/dist/esm/next/components/Select/SelectList.js.map +0 -1
  180. package/dist/esm/next/components/Select/SelectOption.d.ts +0 -20
  181. package/dist/esm/next/components/Select/SelectOption.d.ts.map +0 -1
  182. package/dist/esm/next/components/Select/SelectOption.js +0 -10
  183. package/dist/esm/next/components/Select/SelectOption.js.map +0 -1
  184. package/dist/esm/next/components/Select/index.d.ts.map +0 -1
  185. package/dist/esm/next/components/Select/index.js.map +0 -1
  186. package/dist/js/components/Select/SelectMenu.d.ts.map +0 -1
  187. package/dist/js/components/Select/SelectMenu.js.map +0 -1
  188. package/dist/js/components/Select/SelectToggle.d.ts.map +0 -1
  189. package/dist/js/components/Select/SelectToggle.js.map +0 -1
  190. package/dist/js/components/Select/selectConstants.d.ts.map +0 -1
  191. package/dist/js/components/Select/selectConstants.js.map +0 -1
  192. package/dist/js/next/components/Select/Select.d.ts +0 -33
  193. package/dist/js/next/components/Select/Select.d.ts.map +0 -1
  194. package/dist/js/next/components/Select/Select.js +0 -59
  195. package/dist/js/next/components/Select/Select.js.map +0 -1
  196. package/dist/js/next/components/Select/SelectGroup.d.ts +0 -12
  197. package/dist/js/next/components/Select/SelectGroup.d.ts.map +0 -1
  198. package/dist/js/next/components/Select/SelectGroup.js +0 -14
  199. package/dist/js/next/components/Select/SelectGroup.js.map +0 -1
  200. package/dist/js/next/components/Select/SelectList.d.ts.map +0 -1
  201. package/dist/js/next/components/Select/SelectList.js.map +0 -1
  202. package/dist/js/next/components/Select/SelectOption.d.ts +0 -20
  203. package/dist/js/next/components/Select/SelectOption.d.ts.map +0 -1
  204. package/dist/js/next/components/Select/SelectOption.js +0 -14
  205. package/dist/js/next/components/Select/SelectOption.js.map +0 -1
  206. package/dist/js/next/components/Select/index.d.ts.map +0 -1
  207. package/dist/js/next/components/Select/index.js.map +0 -1
  208. package/src/next/components/Select/Select.tsx +0 -133
  209. package/src/next/components/Select/SelectGroup.tsx +0 -24
  210. package/src/next/components/Select/SelectOption.tsx +0 -31
  211. package/src/next/components/Select/examples/Select.md +0 -38
  212. /package/dist/esm/{components → deprecated/components}/Select/SelectMenu.d.ts +0 -0
  213. /package/dist/esm/{components → deprecated/components}/Select/SelectToggle.d.ts +0 -0
  214. /package/dist/esm/{components → deprecated/components}/Select/selectConstants.d.ts +0 -0
  215. /package/dist/esm/{components → deprecated/components}/Select/selectConstants.js +0 -0
  216. /package/dist/js/{components → deprecated/components}/Select/SelectMenu.d.ts +0 -0
  217. /package/dist/js/{components → deprecated/components}/Select/SelectToggle.d.ts +0 -0
  218. /package/dist/js/{components → deprecated/components}/Select/selectConstants.d.ts +0 -0
  219. /package/dist/js/{components → deprecated/components}/Select/selectConstants.js +0 -0
  220. /package/src/{components → deprecated/components}/Select/__tests__/SelectGroup.test.tsx +0 -0
  221. /package/src/{components → deprecated/components}/Select/__tests__/SelectOption.test.tsx +0 -0
  222. /package/src/{components → deprecated/components}/Select/__tests__/SelectToggle.test.tsx +0 -0
  223. /package/src/{components → deprecated/components}/Select/__tests__/__snapshots__/Select.test.tsx.snap +0 -0
  224. /package/src/{components → deprecated/components}/Select/__tests__/__snapshots__/SelectGroup.test.tsx.snap +0 -0
  225. /package/src/{components → deprecated/components}/Select/__tests__/__snapshots__/SelectOption.test.tsx.snap +0 -0
  226. /package/src/{components → deprecated/components}/Select/__tests__/__snapshots__/SelectToggle.test.tsx.snap +0 -0
  227. /package/src/{components → deprecated/components}/Select/selectConstants.tsx +0 -0
@@ -1,88 +1,56 @@
1
1
  import React from 'react';
2
2
  import {
3
+ MenuToggle,
4
+ MenuToggleElement,
3
5
  Toolbar,
4
6
  ToolbarItem,
5
7
  ToolbarContent,
6
8
  ToolbarToggleGroup,
7
9
  ToolbarGroup,
8
- SelectOptionObject
10
+ SearchInput,
11
+ Select,
12
+ SelectList,
13
+ SelectOption
9
14
  } from '@patternfly/react-core';
10
- import { Select, SelectOption, SelectVariant, SearchInput } from '@patternfly/react-core';
11
15
  import FilterIcon from '@patternfly/react-icons/dist/esm/icons/filter-icon';
12
16
 
13
17
  export const ToolbarConsumerManagedToggleGroup: React.FunctionComponent = () => {
14
18
  const [isExpanded, setIsExpanded] = React.useState(false);
15
19
  const [inputValue, setInputValue] = React.useState('');
16
20
  const [statusIsExpanded, setStatusIsExpanded] = React.useState(false);
17
- const [statusSelected, setStatusSelected] = React.useState<string | SelectOptionObject>();
21
+ const [statusSelected, setStatusSelected] = React.useState('');
18
22
  const [riskIsExpanded, setRiskIsExpanded] = React.useState(false);
19
- const [riskSelected, setRiskSelected] = React.useState<string | SelectOptionObject>();
23
+ const [riskSelected, setRiskSelected] = React.useState('');
20
24
 
21
25
  const toggleIsExpanded = () => {
22
26
  setIsExpanded(!isExpanded);
23
27
  };
24
28
 
25
- const statusOptions = [
26
- { value: 'Status', disabled: false, isPlaceholder: true },
27
- { value: 'New', disabled: false },
28
- { value: 'Pending', disabled: false },
29
- { value: 'Running', disabled: false },
30
- { value: 'Cancelled', disabled: false }
31
- ];
32
-
33
- const riskOptions = [
34
- { value: 'Risk', disabled: false, isPlaceholder: true },
35
- { value: 'Low', disabled: false },
36
- { value: 'Medium', disabled: false },
37
- { value: 'High', disabled: false }
38
- ];
29
+ const statusOptions = ['New', 'Pending', 'Running', 'Cancelled'];
30
+ const riskOptions = ['Risk', 'Low', 'Medium', 'High'];
39
31
 
40
32
  const onInputChange = (newValue: string) => {
41
33
  setInputValue(newValue);
42
34
  };
43
35
 
44
- const onStatusToggle = (_event: any, isExpanded: boolean) => {
45
- setStatusIsExpanded(isExpanded);
36
+ const onStatusToggle = () => {
37
+ setStatusIsExpanded(!statusIsExpanded);
46
38
  };
47
39
 
48
- const onStatusSelect = (
49
- _event: React.MouseEvent | React.ChangeEvent,
50
- selection: string | SelectOptionObject,
51
- isPlaceholder: boolean | undefined
52
- ) => {
53
- if (isPlaceholder) {
54
- clearStatusSelection();
55
- }
40
+ const onStatusSelect = (_event: React.MouseEvent<Element, MouseEvent> | undefined, selection: string) => {
56
41
  setStatusSelected(selection);
57
42
  setStatusIsExpanded(false);
58
43
  };
59
44
 
60
- const clearStatusSelection = () => {
61
- setStatusSelected(undefined);
62
- setStatusIsExpanded(false);
63
- };
64
-
65
- const onRiskToggle = (_event: any, isExpanded: boolean) => {
66
- setRiskIsExpanded(isExpanded);
45
+ const onRiskToggle = () => {
46
+ setRiskIsExpanded(!riskIsExpanded);
67
47
  };
68
48
 
69
- const onRiskSelect = (
70
- _event: React.MouseEvent | React.ChangeEvent,
71
- selection: string | SelectOptionObject,
72
- isPlaceholder: boolean | undefined
73
- ) => {
74
- if (isPlaceholder) {
75
- clearRiskSelection();
76
- }
49
+ const onRiskSelect = (_event: React.MouseEvent<Element, MouseEvent> | undefined, selection: string) => {
77
50
  setRiskSelected(selection);
78
51
  setRiskIsExpanded(false);
79
52
  };
80
53
 
81
- const clearRiskSelection = () => {
82
- setRiskSelected(undefined);
83
- setRiskIsExpanded(false);
84
- };
85
-
86
54
  const toggleGroupItems = (
87
55
  <React.Fragment>
88
56
  <ToolbarItem variant="search-filter">
@@ -98,30 +66,58 @@ export const ToolbarConsumerManagedToggleGroup: React.FunctionComponent = () =>
98
66
  <ToolbarGroup variant="filter-group">
99
67
  <ToolbarItem>
100
68
  <Select
101
- variant={SelectVariant.single}
102
- aria-label="Select Input"
103
- onToggle={onStatusToggle}
69
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
70
+ <MenuToggle
71
+ ref={toggleRef}
72
+ onClick={() => onStatusToggle()}
73
+ isExpanded={statusIsExpanded}
74
+ style={
75
+ {
76
+ width: '150px'
77
+ } as React.CSSProperties
78
+ }
79
+ >
80
+ {statusSelected || 'Status'}
81
+ </MenuToggle>
82
+ )}
104
83
  onSelect={onStatusSelect}
105
- selections={statusSelected}
84
+ onOpenChange={isOpen => setStatusIsExpanded(isOpen)}
85
+ selected={statusSelected}
106
86
  isOpen={statusIsExpanded}
107
87
  >
108
- {statusOptions.map((option, index) => (
109
- <SelectOption isDisabled={option.disabled} key={index} value={option.value} />
110
- ))}
88
+ <SelectList>
89
+ {statusOptions.map((option, index) => (
90
+ <SelectOption key={index} itemId={option}>{option}</SelectOption>
91
+ ))}
92
+ </SelectList>
111
93
  </Select>
112
94
  </ToolbarItem>
113
95
  <ToolbarItem>
114
96
  <Select
115
- variant={SelectVariant.single}
116
- aria-label="Select Input"
117
- onToggle={onRiskToggle}
97
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
98
+ <MenuToggle
99
+ ref={toggleRef}
100
+ onClick={() => onRiskToggle()}
101
+ isExpanded={riskIsExpanded}
102
+ style={
103
+ {
104
+ width: '120px'
105
+ } as React.CSSProperties
106
+ }
107
+ >
108
+ {riskSelected || 'Risk'}
109
+ </MenuToggle>
110
+ )}
118
111
  onSelect={onRiskSelect}
119
- selections={riskSelected}
112
+ selected={riskSelected}
120
113
  isOpen={riskIsExpanded}
114
+ onOpenChange={isOpen => setRiskIsExpanded(isOpen)}
121
115
  >
122
- {riskOptions.map((option, index) => (
123
- <SelectOption isDisabled={option.disabled} key={index} value={option.value} />
124
- ))}
116
+ <SelectList>
117
+ {riskOptions.map((option, index) => (
118
+ <SelectOption key={index} itemId={option}>{option}</SelectOption>
119
+ ))}
120
+ </SelectList>
125
121
  </Select>
126
122
  </ToolbarItem>
127
123
  </ToolbarGroup>
@@ -6,10 +6,13 @@ import {
6
6
  ToolbarFilter,
7
7
  ToolbarToggleGroup,
8
8
  ToolbarGroup,
9
+ Badge,
9
10
  Button,
11
+ MenuToggle,
12
+ MenuToggleElement,
10
13
  Select,
11
- SelectOption,
12
- SelectVariant
14
+ SelectList,
15
+ SelectOption
13
16
  } from '@patternfly/react-core';
14
17
  import FilterIcon from '@patternfly/react-icons/dist/esm/icons/filter-icon';
15
18
  import EditIcon from '@patternfly/react-icons/dist/esm/icons/edit-icon';
@@ -57,18 +60,71 @@ export const ToolbarCustomChipGroupContent: React.FunctionComponent = () => {
57
60
  }
58
61
  };
59
62
 
60
- const statusMenuItems = [
61
- <SelectOption key="statusNew" value="New" />,
62
- <SelectOption key="statusPending" value="Pending" />,
63
- <SelectOption key="statusRunning" value="Running" />,
64
- <SelectOption key="statusCancelled" value="Cancelled" />
65
- ];
63
+ const statusMenuItems = (
64
+ <SelectList>
65
+ <SelectOption
66
+ hasCheckbox
67
+ key="statusNew"
68
+ itemId="New"
69
+ isSelected={filters.status.includes("New")}
70
+ >
71
+ New
72
+ </SelectOption>
73
+ <SelectOption
74
+ hasCheckbox
75
+ key="statusPending"
76
+ itemId="Pending"
77
+ isSelected={filters.status.includes("Pending")}
78
+ >
79
+ Pending
80
+ </SelectOption>
81
+ <SelectOption
82
+ hasCheckbox
83
+ key="statusRunning"
84
+ itemId="Running"
85
+ isSelected={filters.status.includes("Running")}
86
+ >
87
+ Running
88
+ </SelectOption>
89
+ <SelectOption
90
+ hasCheckbox
91
+ key="statusCancelled"
92
+ itemId="Cancelled"
93
+ isSelected={filters.status.includes("Cancelled")}
94
+ >
95
+ Cancelled
96
+ </SelectOption>
97
+ </SelectList>
98
+ );
66
99
 
67
- const riskMenuItems = [
68
- <SelectOption key="riskLow" value="Low" />,
69
- <SelectOption key="riskMedium" value="Medium" />,
70
- <SelectOption key="riskHigh" value="High" />
71
- ];
100
+ const riskMenuItems = (
101
+ <SelectList>
102
+ <SelectOption
103
+ hasCheckbox
104
+ key="riskLow"
105
+ itemId="Low"
106
+ isSelected={filters.risk.includes("Low")}
107
+ >
108
+ Low
109
+ </SelectOption>
110
+ <SelectOption
111
+ hasCheckbox
112
+ key="riskMedium"
113
+ itemId="Medium"
114
+ isSelected={filters.risk.includes("Medium")}
115
+ >
116
+ Medium
117
+ </SelectOption>
118
+ <SelectOption
119
+ hasCheckbox
120
+ key="riskHigh"
121
+ itemId="High"
122
+ isSelected={filters.risk.includes("High")}
123
+ >
124
+ High
125
+ </SelectOption>
126
+ </SelectList>
127
+ );
72
128
 
73
129
  const toggleGroupItems = (
74
130
  <React.Fragment>
@@ -80,13 +136,27 @@ export const ToolbarCustomChipGroupContent: React.FunctionComponent = () => {
80
136
  categoryName="Status"
81
137
  >
82
138
  <Select
83
- variant={SelectVariant.checkbox}
84
139
  aria-label="Status"
85
- onToggle={(_event: any, isExpanded: boolean) => setStatusIsExpanded(isExpanded)}
86
- onSelect={(event, selection) => onSelect('Status', event, selection as string)}
87
- selections={filters.status}
140
+ role="menu"
141
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
142
+ <MenuToggle
143
+ ref={toggleRef}
144
+ onClick={() => setStatusIsExpanded(!statusIsExpanded)}
145
+ isExpanded={statusIsExpanded}
146
+ style={
147
+ {
148
+ width: '140px'
149
+ } as React.CSSProperties
150
+ }
151
+ >
152
+ Status
153
+ {filters.status.length > 0 && <Badge isRead>{filters.status.length}</Badge>}
154
+ </MenuToggle>
155
+ )}
156
+ onSelect={(event, selection) => onSelect("Status", event, selection as string)}
157
+ selected={filters.status}
88
158
  isOpen={statusIsExpanded}
89
- placeholderText="Status"
159
+ onOpenChange={isOpen => setStatusIsExpanded(isOpen)}
90
160
  >
91
161
  {statusMenuItems}
92
162
  </Select>
@@ -98,13 +168,27 @@ export const ToolbarCustomChipGroupContent: React.FunctionComponent = () => {
98
168
  categoryName="Risk"
99
169
  >
100
170
  <Select
101
- variant={SelectVariant.checkbox}
102
171
  aria-label="Risk"
103
- onToggle={(_event: any, isExpanded: boolean) => setRiskIsExpanded(isExpanded)}
104
- onSelect={(event, selection) => onSelect('Risk', event, selection as string)}
105
- selections={filters.risk}
172
+ role="menu"
173
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
174
+ <MenuToggle
175
+ ref={toggleRef}
176
+ onClick={() => setRiskIsExpanded(!riskIsExpanded)}
177
+ isExpanded={riskIsExpanded}
178
+ style={
179
+ {
180
+ width: '140px'
181
+ } as React.CSSProperties
182
+ }
183
+ >
184
+ Risk
185
+ {filters.risk.length > 0 && <Badge isRead>{filters.risk.length}</Badge>}
186
+ </MenuToggle>
187
+ )}
188
+ onSelect={(event, selection) => onSelect("Risk", event, selection as string)}
189
+ selected={filters.risk}
106
190
  isOpen={riskIsExpanded}
107
- placeholderText="Risk"
191
+ onOpenChange={isOpen => setRiskIsExpanded(isOpen)}
108
192
  >
109
193
  {riskMenuItems}
110
194
  </Select>
@@ -1,62 +1,57 @@
1
1
  import React from 'react';
2
- import { SelectOptionObject, Toolbar, ToolbarContent, ToolbarGroup, ToolbarItem } from '@patternfly/react-core';
3
- import { Button, Select, SelectOption, SelectVariant } from '@patternfly/react-core';
2
+ import {
3
+ Button,
4
+ MenuToggle,
5
+ MenuToggleElement,
6
+ Toolbar,
7
+ ToolbarContent,
8
+ ToolbarGroup,
9
+ ToolbarItem,
10
+ Select,
11
+ SelectList,
12
+ SelectOption
13
+ } from '@patternfly/react-core';
4
14
  import EditIcon from '@patternfly/react-icons/dist/esm/icons/edit-icon';
5
15
  import CloneIcon from '@patternfly/react-icons/dist/esm/icons/clone-icon';
6
16
  import SyncIcon from '@patternfly/react-icons/dist/esm/icons/sync-icon';
7
17
 
8
18
  export const ToolbarGroups: React.FunctionComponent = () => {
9
- const firstOptions = [
10
- { value: 'Filter 1', disabled: false, isPlaceholder: true },
11
- { value: 'A', disabled: false },
12
- { value: 'B', disabled: false },
13
- { value: 'C', disabled: false }
14
- ];
15
-
16
- const secondOptions = [
17
- { value: 'Filter 2', disabled: false, isPlaceholder: true },
18
- { value: '1', disabled: false },
19
- { value: '2', disabled: false },
20
- { value: '3', disabled: false }
21
- ];
22
-
23
- const thirdOptions = [
24
- { value: 'Filter 3', disabled: false, isPlaceholder: true },
25
- { value: 'I', disabled: false },
26
- { value: 'II', disabled: false },
27
- { value: 'III', disabled: false }
28
- ];
19
+ const firstOptions = ['A', 'B', 'C'];
20
+ const secondOptions = ['1', '2', '3'];
21
+ const thirdOptions = ['I', 'II', 'III'];
29
22
 
30
23
  const [firstIsExpanded, setFirstIsExpanded] = React.useState(false);
31
- const [firstSelected, setFirstSelected] = React.useState<string | SelectOptionObject>();
24
+ const [firstSelected, setFirstSelected] = React.useState('');
32
25
  const [secondIsExpanded, setSecondIsExpanded] = React.useState(false);
33
- const [secondSelected, setSecondSelected] = React.useState<string | SelectOptionObject>();
26
+ const [secondSelected, setSecondSelected] = React.useState('');
34
27
  const [thirdIsExpanded, setThirdIsExpanded] = React.useState(false);
35
- const [thirdSelected, setThirdSelected] = React.useState<string | SelectOptionObject>();
28
+ const [thirdSelected, setThirdSelected] = React.useState('');
36
29
 
37
- const onFirstToggle = (_event: any, isExpanded: boolean) => {
38
- setFirstIsExpanded(isExpanded);
30
+ const onToggle = (filterName: string) => {
31
+ switch (filterName) {
32
+ case "first":
33
+ setFirstIsExpanded(!firstIsExpanded);
34
+ break;
35
+ case "second":
36
+ setSecondIsExpanded(!secondIsExpanded);
37
+ break;
38
+ case "third":
39
+ setThirdIsExpanded(!thirdIsExpanded);
40
+ break;
41
+ }
39
42
  };
40
43
 
41
- const onFirstSelect = (_event: React.MouseEvent | React.ChangeEvent, selection: string | SelectOptionObject) => {
44
+ const onFirstSelect = (_event: React.MouseEvent<Element, MouseEvent> | undefined, selection: string) => {
42
45
  setFirstSelected(selection);
43
46
  setFirstIsExpanded(false);
44
47
  };
45
48
 
46
- const onSecondToggle = (_event: any, isExpanded: boolean) => {
47
- setSecondIsExpanded(isExpanded);
48
- };
49
-
50
- const onSecondSelect = (_event: React.MouseEvent | React.ChangeEvent, selection: string | SelectOptionObject) => {
49
+ const onSecondSelect = (_event: React.MouseEvent<Element, MouseEvent> | undefined, selection: string) => {
51
50
  setSecondSelected(selection);
52
51
  setSecondIsExpanded(false);
53
52
  };
54
53
 
55
- const onThirdToggle = (_event: any, isExpanded: boolean) => {
56
- setThirdIsExpanded(isExpanded);
57
- };
58
-
59
- const onThirdSelect = (_event: React.MouseEvent | React.ChangeEvent, selection: string | SelectOptionObject) => {
54
+ const onThirdSelect = (_event: React.MouseEvent<Element, MouseEvent> | undefined, selection: string) => {
60
55
  setThirdSelected(selection);
61
56
  setThirdIsExpanded(false);
62
57
  };
@@ -65,44 +60,86 @@ export const ToolbarGroups: React.FunctionComponent = () => {
65
60
  <React.Fragment>
66
61
  <ToolbarItem>
67
62
  <Select
68
- variant={SelectVariant.single}
69
- aria-label="Select Input"
70
- onToggle={onFirstToggle}
63
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
64
+ <MenuToggle
65
+ ref={toggleRef}
66
+ onClick={() => onToggle("first")}
67
+ isExpanded={firstIsExpanded}
68
+ style={
69
+ {
70
+ width: '88px'
71
+ } as React.CSSProperties
72
+ }
73
+ >
74
+ {firstSelected || 'First'}
75
+ </MenuToggle>
76
+ )}
71
77
  onSelect={onFirstSelect}
72
- selections={firstSelected}
78
+ onOpenChange={isOpen => setFirstIsExpanded(isOpen)}
79
+ selected={firstSelected}
73
80
  isOpen={firstIsExpanded}
74
81
  >
75
- {firstOptions.map((option, index) => (
76
- <SelectOption isDisabled={option.disabled} key={index} value={option.value} />
77
- ))}
82
+ <SelectList>
83
+ {firstOptions.map((option, index) => (
84
+ <SelectOption key={index} itemId={option}>{option}</SelectOption>
85
+ ))}
86
+ </SelectList>
78
87
  </Select>
79
88
  </ToolbarItem>
80
89
  <ToolbarItem>
81
90
  <Select
82
- variant={SelectVariant.single}
83
- aria-label="Select Input"
84
- onToggle={onSecondToggle}
91
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
92
+ <MenuToggle
93
+ ref={toggleRef}
94
+ onClick={() => onToggle("second")}
95
+ isExpanded={secondIsExpanded}
96
+ style={
97
+ {
98
+ width: '120px'
99
+ } as React.CSSProperties
100
+ }
101
+ >
102
+ {secondSelected || 'Second'}
103
+ </MenuToggle>
104
+ )}
85
105
  onSelect={onSecondSelect}
86
- selections={secondSelected}
106
+ selected={secondSelected}
107
+ onOpenChange={isOpen => setSecondIsExpanded(isOpen)}
87
108
  isOpen={secondIsExpanded}
88
109
  >
89
- {secondOptions.map((option, index) => (
90
- <SelectOption isDisabled={option.disabled} key={index} value={option.value} />
91
- ))}
110
+ <SelectList>
111
+ {secondOptions.map((option, index) => (
112
+ <SelectOption key={index} itemId={option}>{option}</SelectOption>
113
+ ))}
114
+ </SelectList>
92
115
  </Select>
93
116
  </ToolbarItem>
94
117
  <ToolbarItem>
95
118
  <Select
96
- variant={SelectVariant.single}
97
- aria-label="Select Input"
98
- onToggle={onThirdToggle}
119
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
120
+ <MenuToggle
121
+ ref={toggleRef}
122
+ onClick={() => onToggle("third")}
123
+ isExpanded={thirdIsExpanded}
124
+ style={
125
+ {
126
+ width: '96px'
127
+ } as React.CSSProperties
128
+ }
129
+ >
130
+ {thirdSelected || 'Third'}
131
+ </MenuToggle>
132
+ )}
99
133
  onSelect={onThirdSelect}
100
- selections={thirdSelected}
134
+ selected={thirdSelected}
135
+ onOpenChange={isOpen => setThirdIsExpanded(isOpen)}
101
136
  isOpen={thirdIsExpanded}
102
137
  >
103
- {thirdOptions.map((option, index) => (
104
- <SelectOption isDisabled={option.disabled} key={index} value={option.value} />
105
- ))}
138
+ <SelectList>
139
+ {thirdOptions.map((option, index) => (
140
+ <SelectOption key={index} itemId={option}>{option}</SelectOption>
141
+ ))}
142
+ </SelectList>
106
143
  </Select>
107
144
  </ToolbarItem>
108
145
  </React.Fragment>