@patternfly/react-core 5.0.0-alpha.98 → 5.0.0-alpha.99

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 (224) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/esm/components/AboutModal/package.json +1 -1
  3. package/dist/esm/components/Accordion/package.json +1 -1
  4. package/dist/esm/components/ActionList/package.json +1 -1
  5. package/dist/esm/components/Alert/package.json +1 -1
  6. package/dist/esm/components/Avatar/package.json +1 -1
  7. package/dist/esm/components/BackToTop/package.json +1 -1
  8. package/dist/esm/components/Backdrop/package.json +1 -1
  9. package/dist/esm/components/BackgroundImage/package.json +1 -1
  10. package/dist/esm/components/Badge/package.json +1 -1
  11. package/dist/esm/components/Banner/package.json +1 -1
  12. package/dist/esm/components/Brand/package.json +1 -1
  13. package/dist/esm/components/Breadcrumb/package.json +1 -1
  14. package/dist/esm/components/Button/package.json +1 -1
  15. package/dist/esm/components/CalendarMonth/package.json +1 -1
  16. package/dist/esm/components/Card/package.json +1 -1
  17. package/dist/esm/components/Checkbox/package.json +1 -1
  18. package/dist/esm/components/Chip/package.json +1 -1
  19. package/dist/esm/components/ClipboardCopy/package.json +1 -1
  20. package/dist/esm/components/CodeBlock/package.json +1 -1
  21. package/dist/esm/components/DataList/package.json +1 -1
  22. package/dist/esm/components/DatePicker/package.json +1 -1
  23. package/dist/esm/components/DescriptionList/package.json +1 -1
  24. package/dist/esm/components/Divider/package.json +1 -1
  25. package/dist/esm/components/DragDrop/package.json +1 -1
  26. package/dist/esm/components/Drawer/package.json +1 -1
  27. package/dist/esm/components/Dropdown/DropdownItem.d.ts +1 -1
  28. package/dist/esm/components/Dropdown/DropdownItem.d.ts.map +1 -1
  29. package/dist/esm/components/Dropdown/DropdownItem.js +1 -1
  30. package/dist/esm/components/Dropdown/DropdownItem.js.map +1 -1
  31. package/dist/esm/components/Dropdown/package.json +1 -1
  32. package/dist/esm/components/DualListSelector/package.json +1 -1
  33. package/dist/esm/components/EmptyState/package.json +1 -1
  34. package/dist/esm/components/ExpandableSection/package.json +1 -1
  35. package/dist/esm/components/FileUpload/package.json +1 -1
  36. package/dist/esm/components/Form/package.json +1 -1
  37. package/dist/esm/components/FormSelect/package.json +1 -1
  38. package/dist/esm/components/HelperText/package.json +1 -1
  39. package/dist/esm/components/Hint/package.json +1 -1
  40. package/dist/esm/components/Icon/package.json +1 -1
  41. package/dist/esm/components/InputGroup/package.json +1 -1
  42. package/dist/esm/components/JumpLinks/package.json +1 -1
  43. package/dist/esm/components/Label/package.json +1 -1
  44. package/dist/esm/components/List/package.json +1 -1
  45. package/dist/esm/components/LoginPage/package.json +1 -1
  46. package/dist/esm/components/Masthead/package.json +1 -1
  47. package/dist/esm/components/Menu/package.json +1 -1
  48. package/dist/esm/components/MenuToggle/package.json +1 -1
  49. package/dist/esm/components/Modal/package.json +1 -1
  50. package/dist/esm/components/MultipleFileUpload/package.json +1 -1
  51. package/dist/esm/components/Nav/package.json +1 -1
  52. package/dist/esm/components/NotificationBadge/package.json +1 -1
  53. package/dist/esm/components/NotificationDrawer/package.json +1 -1
  54. package/dist/esm/components/NumberInput/package.json +1 -1
  55. package/dist/esm/components/OverflowMenu/package.json +1 -1
  56. package/dist/esm/components/Page/package.json +1 -1
  57. package/dist/esm/components/Pagination/package.json +1 -1
  58. package/dist/esm/components/Panel/package.json +1 -1
  59. package/dist/esm/components/Popover/package.json +1 -1
  60. package/dist/esm/components/Progress/package.json +1 -1
  61. package/dist/esm/components/ProgressStepper/package.json +1 -1
  62. package/dist/esm/components/Radio/package.json +1 -1
  63. package/dist/esm/components/SearchInput/package.json +1 -1
  64. package/dist/esm/components/Select/package.json +1 -1
  65. package/dist/esm/components/Sidebar/package.json +1 -1
  66. package/dist/esm/components/SimpleList/package.json +1 -1
  67. package/dist/esm/components/Skeleton/package.json +1 -1
  68. package/dist/esm/components/SkipToContent/package.json +1 -1
  69. package/dist/esm/components/Slider/package.json +1 -1
  70. package/dist/esm/components/Spinner/package.json +1 -1
  71. package/dist/esm/components/Switch/package.json +1 -1
  72. package/dist/esm/components/Tabs/package.json +1 -1
  73. package/dist/esm/components/Text/package.json +1 -1
  74. package/dist/esm/components/TextArea/package.json +1 -1
  75. package/dist/esm/components/TextInput/package.json +1 -1
  76. package/dist/esm/components/TextInputGroup/package.json +1 -1
  77. package/dist/esm/components/Tile/package.json +1 -1
  78. package/dist/esm/components/TimePicker/package.json +1 -1
  79. package/dist/esm/components/Timestamp/package.json +1 -1
  80. package/dist/esm/components/Title/package.json +1 -1
  81. package/dist/esm/components/ToggleGroup/package.json +1 -1
  82. package/dist/esm/components/Toolbar/package.json +1 -1
  83. package/dist/esm/components/Tooltip/package.json +1 -1
  84. package/dist/esm/components/TreeView/package.json +1 -1
  85. package/dist/esm/components/Truncate/package.json +1 -1
  86. package/dist/esm/components/Wizard/hooks/package.json +1 -1
  87. package/dist/esm/components/Wizard/package.json +1 -1
  88. package/dist/esm/components/package.json +1 -1
  89. package/dist/esm/deprecated/components/ApplicationLauncher/package.json +1 -1
  90. package/dist/esm/deprecated/components/ContextSelector/package.json +1 -1
  91. package/dist/esm/deprecated/components/Dropdown/package.json +1 -1
  92. package/dist/esm/deprecated/components/OptionsMenu/package.json +1 -1
  93. package/dist/esm/deprecated/components/PageHeader/package.json +1 -1
  94. package/dist/esm/deprecated/components/Select/package.json +1 -1
  95. package/dist/esm/deprecated/components/Wizard/package.json +1 -1
  96. package/dist/esm/deprecated/components/package.json +1 -1
  97. package/dist/esm/deprecated/package.json +1 -1
  98. package/dist/esm/helpers/Popper/thirdparty/popper-core/package.json +1 -1
  99. package/dist/esm/helpers/package.json +1 -1
  100. package/dist/esm/layouts/Bullseye/package.json +1 -1
  101. package/dist/esm/layouts/Flex/package.json +1 -1
  102. package/dist/esm/layouts/Gallery/package.json +1 -1
  103. package/dist/esm/layouts/Grid/package.json +1 -1
  104. package/dist/esm/layouts/Level/package.json +1 -1
  105. package/dist/esm/layouts/Split/package.json +1 -1
  106. package/dist/esm/layouts/Stack/package.json +1 -1
  107. package/dist/esm/layouts/package.json +1 -1
  108. package/dist/esm/next/components/package.json +1 -1
  109. package/dist/esm/next/package.json +1 -1
  110. package/dist/esm/package.json +1 -1
  111. package/dist/js/components/AboutModal/package.json +1 -1
  112. package/dist/js/components/Accordion/package.json +1 -1
  113. package/dist/js/components/ActionList/package.json +1 -1
  114. package/dist/js/components/Alert/package.json +1 -1
  115. package/dist/js/components/Avatar/package.json +1 -1
  116. package/dist/js/components/BackToTop/package.json +1 -1
  117. package/dist/js/components/Backdrop/package.json +1 -1
  118. package/dist/js/components/BackgroundImage/package.json +1 -1
  119. package/dist/js/components/Badge/package.json +1 -1
  120. package/dist/js/components/Banner/package.json +1 -1
  121. package/dist/js/components/Brand/package.json +1 -1
  122. package/dist/js/components/Breadcrumb/package.json +1 -1
  123. package/dist/js/components/Button/package.json +1 -1
  124. package/dist/js/components/CalendarMonth/package.json +1 -1
  125. package/dist/js/components/Card/package.json +1 -1
  126. package/dist/js/components/Checkbox/package.json +1 -1
  127. package/dist/js/components/Chip/package.json +1 -1
  128. package/dist/js/components/ClipboardCopy/package.json +1 -1
  129. package/dist/js/components/CodeBlock/package.json +1 -1
  130. package/dist/js/components/DataList/package.json +1 -1
  131. package/dist/js/components/DatePicker/package.json +1 -1
  132. package/dist/js/components/DescriptionList/package.json +1 -1
  133. package/dist/js/components/Divider/package.json +1 -1
  134. package/dist/js/components/DragDrop/package.json +1 -1
  135. package/dist/js/components/Drawer/package.json +1 -1
  136. package/dist/js/components/Dropdown/DropdownItem.d.ts +1 -1
  137. package/dist/js/components/Dropdown/DropdownItem.d.ts.map +1 -1
  138. package/dist/js/components/Dropdown/DropdownItem.js +1 -1
  139. package/dist/js/components/Dropdown/DropdownItem.js.map +1 -1
  140. package/dist/js/components/Dropdown/package.json +1 -1
  141. package/dist/js/components/DualListSelector/package.json +1 -1
  142. package/dist/js/components/EmptyState/package.json +1 -1
  143. package/dist/js/components/ExpandableSection/package.json +1 -1
  144. package/dist/js/components/FileUpload/package.json +1 -1
  145. package/dist/js/components/Form/package.json +1 -1
  146. package/dist/js/components/FormSelect/package.json +1 -1
  147. package/dist/js/components/HelperText/package.json +1 -1
  148. package/dist/js/components/Hint/package.json +1 -1
  149. package/dist/js/components/Icon/package.json +1 -1
  150. package/dist/js/components/InputGroup/package.json +1 -1
  151. package/dist/js/components/JumpLinks/package.json +1 -1
  152. package/dist/js/components/Label/package.json +1 -1
  153. package/dist/js/components/List/package.json +1 -1
  154. package/dist/js/components/LoginPage/package.json +1 -1
  155. package/dist/js/components/Masthead/package.json +1 -1
  156. package/dist/js/components/Menu/package.json +1 -1
  157. package/dist/js/components/MenuToggle/package.json +1 -1
  158. package/dist/js/components/Modal/package.json +1 -1
  159. package/dist/js/components/MultipleFileUpload/package.json +1 -1
  160. package/dist/js/components/Nav/package.json +1 -1
  161. package/dist/js/components/NotificationBadge/package.json +1 -1
  162. package/dist/js/components/NotificationDrawer/package.json +1 -1
  163. package/dist/js/components/NumberInput/package.json +1 -1
  164. package/dist/js/components/OverflowMenu/package.json +1 -1
  165. package/dist/js/components/Page/package.json +1 -1
  166. package/dist/js/components/Pagination/package.json +1 -1
  167. package/dist/js/components/Panel/package.json +1 -1
  168. package/dist/js/components/Popover/package.json +1 -1
  169. package/dist/js/components/Progress/package.json +1 -1
  170. package/dist/js/components/ProgressStepper/package.json +1 -1
  171. package/dist/js/components/Radio/package.json +1 -1
  172. package/dist/js/components/SearchInput/package.json +1 -1
  173. package/dist/js/components/Select/package.json +1 -1
  174. package/dist/js/components/Sidebar/package.json +1 -1
  175. package/dist/js/components/SimpleList/package.json +1 -1
  176. package/dist/js/components/Skeleton/package.json +1 -1
  177. package/dist/js/components/SkipToContent/package.json +1 -1
  178. package/dist/js/components/Slider/package.json +1 -1
  179. package/dist/js/components/Spinner/package.json +1 -1
  180. package/dist/js/components/Switch/package.json +1 -1
  181. package/dist/js/components/Tabs/package.json +1 -1
  182. package/dist/js/components/Text/package.json +1 -1
  183. package/dist/js/components/TextArea/package.json +1 -1
  184. package/dist/js/components/TextInput/package.json +1 -1
  185. package/dist/js/components/TextInputGroup/package.json +1 -1
  186. package/dist/js/components/Tile/package.json +1 -1
  187. package/dist/js/components/TimePicker/package.json +1 -1
  188. package/dist/js/components/Timestamp/package.json +1 -1
  189. package/dist/js/components/Title/package.json +1 -1
  190. package/dist/js/components/ToggleGroup/package.json +1 -1
  191. package/dist/js/components/Toolbar/package.json +1 -1
  192. package/dist/js/components/Tooltip/package.json +1 -1
  193. package/dist/js/components/TreeView/package.json +1 -1
  194. package/dist/js/components/Truncate/package.json +1 -1
  195. package/dist/js/components/Wizard/hooks/package.json +1 -1
  196. package/dist/js/components/Wizard/package.json +1 -1
  197. package/dist/js/components/package.json +1 -1
  198. package/dist/js/deprecated/components/ApplicationLauncher/package.json +1 -1
  199. package/dist/js/deprecated/components/ContextSelector/package.json +1 -1
  200. package/dist/js/deprecated/components/Dropdown/package.json +1 -1
  201. package/dist/js/deprecated/components/OptionsMenu/package.json +1 -1
  202. package/dist/js/deprecated/components/PageHeader/package.json +1 -1
  203. package/dist/js/deprecated/components/Select/package.json +1 -1
  204. package/dist/js/deprecated/components/Wizard/package.json +1 -1
  205. package/dist/js/deprecated/components/package.json +1 -1
  206. package/dist/js/deprecated/package.json +1 -1
  207. package/dist/js/helpers/Popper/thirdparty/popper-core/package.json +1 -1
  208. package/dist/js/helpers/package.json +1 -1
  209. package/dist/js/layouts/Bullseye/package.json +1 -1
  210. package/dist/js/layouts/Flex/package.json +1 -1
  211. package/dist/js/layouts/Gallery/package.json +1 -1
  212. package/dist/js/layouts/Grid/package.json +1 -1
  213. package/dist/js/layouts/Level/package.json +1 -1
  214. package/dist/js/layouts/Split/package.json +1 -1
  215. package/dist/js/layouts/Stack/package.json +1 -1
  216. package/dist/js/layouts/package.json +1 -1
  217. package/dist/js/next/components/package.json +1 -1
  218. package/dist/js/next/package.json +1 -1
  219. package/dist/js/package.json +1 -1
  220. package/dist/umd/react-core.min.js +1 -1
  221. package/package.json +2 -2
  222. package/src/components/Dropdown/DropdownItem.tsx +4 -3
  223. package/src/demos/examples/DashboardWrapper.js +1 -1
  224. package/src/demos/examples/Tabs/TabsAndTable.tsx +38 -4
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@patternfly/react-core",
3
- "version": "5.0.0-alpha.98",
3
+ "version": "5.0.0-alpha.99",
4
4
  "description": "This library provides a set of common React components for use with the PatternFly reference implementation.",
5
5
  "main": "dist/js/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -71,5 +71,5 @@
71
71
  "react": "^17 || ^18",
72
72
  "react-dom": "^17 || ^18"
73
73
  },
74
- "gitHead": "cb753616f434b5fc8308a19047867f16e4cceb65"
74
+ "gitHead": "00f77395c5d7d3e1fb8fc44c337cfdb63ab31638"
75
75
  }
@@ -27,7 +27,7 @@ export interface DropdownItemProps extends Omit<MenuItemProps, 'ref'>, OUIAProps
27
27
  ouiaSafe?: boolean;
28
28
  }
29
29
 
30
- const DropdownItemBase: React.FunctionComponent<MenuItemProps> = ({
30
+ const DropdownItemBase: React.FunctionComponent<DropdownItemProps> = ({
31
31
  children,
32
32
  className,
33
33
  description,
@@ -42,12 +42,12 @@ const DropdownItemBase: React.FunctionComponent<MenuItemProps> = ({
42
42
  const ouiaProps = useOUIAProps(DropdownItem.displayName, ouiaId, ouiaSafe);
43
43
  return (
44
44
  <MenuItem
45
- ref={innerRef}
46
45
  className={css(className)}
47
46
  description={description}
48
47
  isDisabled={isDisabled}
49
48
  itemId={itemId}
50
49
  onClick={onClick}
50
+ ref={innerRef}
51
51
  {...ouiaProps}
52
52
  {...props}
53
53
  >
@@ -55,7 +55,8 @@ const DropdownItemBase: React.FunctionComponent<MenuItemProps> = ({
55
55
  </MenuItem>
56
56
  );
57
57
  };
58
- export const DropdownItem = React.forwardRef((props: DropdownItemProps, ref: React.Ref<any>) => (
58
+
59
+ export const DropdownItem = React.forwardRef((props: DropdownItemProps, ref: React.Ref<HTMLAnchorElement | HTMLButtonElement>) => (
59
60
  <DropdownItemBase {...props} innerRef={ref} />
60
61
  ));
61
62
 
@@ -58,7 +58,7 @@ export default class DashboardWrapper extends React.Component {
58
58
  header,
59
59
  sidebar,
60
60
  sidebarNavOpen,
61
- onPageResize,
61
+ onPageResize = () => {},
62
62
  hasNoBreadcrumb,
63
63
  notificationDrawer,
64
64
  isNotificationDrawerExpanded,
@@ -56,6 +56,7 @@ import CodeBranchIcon from '@patternfly/react-icons/dist/esm/icons/code-branch-i
56
56
  import CubeIcon from '@patternfly/react-icons/dist/esm/icons/cube-icon';
57
57
  import FilterIcon from '@patternfly/react-icons/dist/esm/icons/filter-icon';
58
58
  import SortAmountDownIcon from '@patternfly/react-icons/dist/esm/icons/sort-amount-down-icon';
59
+ import { KeyTypes } from '../../../helpers';
59
60
 
60
61
  interface Repository {
61
62
  name: string;
@@ -135,15 +136,47 @@ export const TablesAndTabs = () => {
135
136
  }
136
137
  ];
137
138
 
139
+ const firstActionRef = React.useRef<HTMLButtonElement>(null);
140
+
141
+ /** Handles when the user clicks on the custom action toggle, stops propagation to prevent the drawer from opening */
142
+ const handleActionsToggleClick = (event: React.MouseEvent, ActionsToggleProps: CustomActionsToggleProps) => {
143
+ const { onToggle } = ActionsToggleProps;
144
+
145
+ onToggle(event);
146
+ event.stopPropagation();
147
+ };
148
+
149
+ /** Enables keyboard navigation of the custom actions toggle */
150
+ const handleActionsToggleKeyDown = (event: React.KeyboardEvent, ActionsToggleProps: CustomActionsToggleProps) => {
151
+ const { onToggle } = ActionsToggleProps;
152
+ const { Enter, Space, Escape, ArrowDown, ArrowUp } = KeyTypes;
153
+
154
+ const shouldToggle = [Enter, Space, Escape].includes(event.key);
155
+ const shouldFocus = [ArrowDown, ArrowUp, Enter, Space].includes(event.key);
156
+
157
+ if (shouldToggle) {
158
+ event.preventDefault();
159
+ event.stopPropagation();
160
+ onToggle(event);
161
+ }
162
+
163
+ if (shouldFocus) {
164
+ setTimeout(() => {
165
+ firstActionRef.current?.focus();
166
+ }, 0);
167
+ }
168
+ };
169
+
138
170
  const customActionsToggle = (props: CustomActionsToggleProps, toggleName: string) => (
139
171
  <MenuToggle
140
172
  isDisabled={props.isDisabled}
141
- onClick={(event: any) => {
142
- props.onToggle(event);
143
- event.stopPropagation();
144
- }}
173
+ onClick={(event: React.MouseEvent) => handleActionsToggleClick(event, props)}
174
+ onKeyDown={(event: React.KeyboardEvent) => handleActionsToggleKeyDown(event, props)}
145
175
  variant="plain"
146
176
  aria-label={`${toggleName} actions`}
177
+ aria-haspopup="menu"
178
+ isExpanded={props.isOpen}
179
+ ref={props.toggleRef}
147
180
  >
148
181
  <EllipsisVIcon />
149
182
  </MenuToggle>
@@ -270,6 +303,7 @@ export const TablesAndTabs = () => {
270
303
  <ActionsColumn
271
304
  items={defaultActions}
272
305
  actionsToggle={(props: CustomActionsToggleProps) => customActionsToggle(props, repo.name)}
306
+ firstActionItemRef={firstActionRef}
273
307
  />
274
308
  </Td>
275
309
  </Tr>