Skip to content

Commit dc9a0d7

Browse files
authored
fix: prioritize poppers position prop in overlaytrigger (react-bootstrap#6175)
* fix: prioritize poppers position prop in overlaytrigger * remove fallback to placement * rm comment * reinstate better comment
1 parent ccaede1 commit dc9a0d7

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

src/Overlay.tsx

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -179,20 +179,22 @@ const Overlay = React.forwardRef<HTMLElement, OverlayProps>(
179179
}}
180180
transition={actualTransition}
181181
>
182-
{(overlayProps, { arrowProps, placement, popper: popperObj, show }) => {
182+
{(overlayProps, { arrowProps, popper: popperObj, show }) => {
183183
wrapRefs(overlayProps, arrowProps);
184+
// Need to get placement from popper object, handling case when overlay is flipped using 'flip' prop
185+
const updatedPlacement = popperObj?.placement;
184186
const popper = Object.assign(popperRef.current, {
185187
state: popperObj?.state,
186188
scheduleUpdate: popperObj?.update,
187-
placement,
189+
placement: updatedPlacement,
188190
outOfBoundaries:
189191
popperObj?.state?.modifiersData.hide?.isReferenceHidden || false,
190192
});
191193

192194
if (typeof overlay === 'function')
193195
return overlay({
194196
...overlayProps,
195-
placement,
197+
placement: updatedPlacement,
196198
show,
197199
...(!transition && show && { className: 'show' }),
198200
popper,
@@ -201,7 +203,7 @@ const Overlay = React.forwardRef<HTMLElement, OverlayProps>(
201203

202204
return React.cloneElement(overlay as React.ReactElement, {
203205
...overlayProps,
204-
placement,
206+
placement: updatedPlacement,
205207
arrowProps,
206208
popper,
207209
className: classNames(

0 commit comments

Comments
 (0)