From 0b3c34fd4ad8471f20fb89254340301067e7f2f4 Mon Sep 17 00:00:00 2001 From: labkey-nicka Date: Tue, 22 Aug 2023 11:24:07 -0700 Subject: [PATCH 1/3] Issue #5733: MenuPlacer useLayoutEffect depend on isLoading --- packages/react-select/src/Select.tsx | 2 +- packages/react-select/src/components/Menu.tsx | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/react-select/src/Select.tsx b/packages/react-select/src/Select.tsx index 16daa33094..6d09c62375 100644 --- a/packages/react-select/src/Select.tsx +++ b/packages/react-select/src/Select.tsx @@ -1961,7 +1961,7 @@ export default class Select< }; const menuElement = ( - + {({ ref, placerProps: { placement, maxHeight } }) => ( ReactElement; + isLoading: boolean; } function alignToControl(placement: CoercedMenuPlacement) { @@ -317,6 +318,7 @@ export const MenuPlacer = < ) => { const { children, + isLoading, minMenuHeight, maxMenuHeight, menuPlacement, @@ -353,6 +355,7 @@ export const MenuPlacer = < setPlacement(state.placement); setPortalPlacement?.(state.placement); }, [ + isLoading, maxMenuHeight, menuPlacement, menuPosition, From 6221565de66a681ba2c439e71a7b04f1f932e542 Mon Sep 17 00:00:00 2001 From: labkey-nicka Date: Tue, 22 Aug 2023 13:41:14 -0700 Subject: [PATCH 2/3] prettify --- packages/react-select/src/Select.tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/react-select/src/Select.tsx b/packages/react-select/src/Select.tsx index 6d09c62375..9e040fb7e3 100644 --- a/packages/react-select/src/Select.tsx +++ b/packages/react-select/src/Select.tsx @@ -1961,7 +1961,11 @@ export default class Select< }; const menuElement = ( - + {({ ref, placerProps: { placement, maxHeight } }) => ( Date: Thu, 26 Oct 2023 13:33:44 -0700 Subject: [PATCH 3/3] Source "isLoading" from Menu.selectProps.isLoading --- packages/react-select/src/Select.tsx | 6 +----- packages/react-select/src/components/Menu.tsx | 4 ++-- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/packages/react-select/src/Select.tsx b/packages/react-select/src/Select.tsx index 9e040fb7e3..16daa33094 100644 --- a/packages/react-select/src/Select.tsx +++ b/packages/react-select/src/Select.tsx @@ -1961,11 +1961,7 @@ export default class Select< }; const menuElement = ( - + {({ ref, placerProps: { placement, maxHeight } }) => ( ReactElement; - isLoading: boolean; } function alignToControl(placement: CoercedMenuPlacement) { @@ -318,14 +317,15 @@ export const MenuPlacer = < ) => { const { children, - isLoading, minMenuHeight, maxMenuHeight, menuPlacement, menuPosition, menuShouldScrollIntoView, + selectProps, theme, } = props; + const { isLoading } = selectProps; const { setPortalPlacement } = useContext(PortalPlacementContext) || {}; const ref = useRef(null);