From 56a794379f916cdce06841ed5ec68e1b39140284 Mon Sep 17 00:00:00 2001 From: Ian Schmitz Date: Wed, 19 Jun 2019 15:46:07 +0000 Subject: [PATCH] Apply diff from #15973 --- packages/material-ui/src/ListItem/ListItem.js | 2 +- packages/material-ui/src/MenuList/MenuList.js | 20 +++++++++++++------ .../material-ui/src/Select/SelectInput.js | 2 +- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/packages/material-ui/src/ListItem/ListItem.js b/packages/material-ui/src/ListItem/ListItem.js index 054ecfc054ece6..baf1b426ecfe9b 100644 --- a/packages/material-ui/src/ListItem/ListItem.js +++ b/packages/material-ui/src/ListItem/ListItem.js @@ -91,7 +91,7 @@ const useEnhancedEffect = typeof window === 'undefined' ? React.useEffect : Reac const ListItem = React.forwardRef(function ListItem(props, ref) { const { alignItems = 'center', - autoFocus, + autoFocus = false, button = false, children: childrenProp, classes, diff --git a/packages/material-ui/src/MenuList/MenuList.js b/packages/material-ui/src/MenuList/MenuList.js index 8226da2fe42b38..c7008613f0170e 100644 --- a/packages/material-ui/src/MenuList/MenuList.js +++ b/packages/material-ui/src/MenuList/MenuList.js @@ -44,7 +44,11 @@ function textCriteriaMatches(nextFocus, textCriteria) { function moveFocus(list, currentFocus, disableListWrap, traversalFunction, textCriteria) { let wrappedOnce = false; - let nextFocus = traversalFunction(list, currentFocus, currentFocus ? disableListWrap : false); + let nextFocus = traversalFunction( + list, + currentFocus, + currentFocus && currentFocus !== list ? disableListWrap : false, + ); while (nextFocus) { // Prevent infinite loop. @@ -76,7 +80,14 @@ function moveFocus(list, currentFocus, disableListWrap, traversalFunction, textC const useEnhancedEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect; const MenuList = React.forwardRef(function MenuList(props, ref) { - const { actions, autoFocus, className, onKeyDown, disableListWrap = false, ...other } = props; + const { + actions, + autoFocus = false, + className, + disableListWrap = false, + onKeyDown, + ...other + } = props; const listRef = React.useRef(null); const textCriteriaRef = React.useRef({ keys: [], @@ -116,10 +127,7 @@ const MenuList = React.forwardRef(function MenuList(props, ref) { const key = event.key; const currentFocus = ownerDocument(list).activeElement; - if ( - (key === 'ArrowUp' || key === 'ArrowDown') && - (!currentFocus || (currentFocus && !list.contains(currentFocus))) - ) { + if ((key === 'ArrowUp' || key === 'ArrowDown') && !list.contains(currentFocus)) { moveFocus(list, null, disableListWrap, nextItem); } else if (key === 'ArrowDown') { event.preventDefault(); diff --git a/packages/material-ui/src/Select/SelectInput.js b/packages/material-ui/src/Select/SelectInput.js index 6ea5b3959afa9a..76ec7def896839 100644 --- a/packages/material-ui/src/Select/SelectInput.js +++ b/packages/material-ui/src/Select/SelectInput.js @@ -172,7 +172,7 @@ const SelectInput = React.forwardRef(function SelectInput(props, ref) { delete other['aria-invalid']; let display; - let displaySingle = ''; + let displaySingle; const displayMultiple = []; let computeDisplay = false;