@@ -179,20 +179,22 @@ const Overlay = React.forwardRef<HTMLElement, OverlayProps>(
179
179
} }
180
180
transition = { actualTransition }
181
181
>
182
- { ( overlayProps , { arrowProps, placement , popper : popperObj , show } ) => {
182
+ { ( overlayProps , { arrowProps, popper : popperObj , show } ) => {
183
183
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 ;
184
186
const popper = Object . assign ( popperRef . current , {
185
187
state : popperObj ?. state ,
186
188
scheduleUpdate : popperObj ?. update ,
187
- placement,
189
+ placement : updatedPlacement ,
188
190
outOfBoundaries :
189
191
popperObj ?. state ?. modifiersData . hide ?. isReferenceHidden || false ,
190
192
} ) ;
191
193
192
194
if ( typeof overlay === 'function' )
193
195
return overlay ( {
194
196
...overlayProps ,
195
- placement,
197
+ placement : updatedPlacement ,
196
198
show,
197
199
...( ! transition && show && { className : 'show' } ) ,
198
200
popper,
@@ -201,7 +203,7 @@ const Overlay = React.forwardRef<HTMLElement, OverlayProps>(
201
203
202
204
return React . cloneElement ( overlay as React . ReactElement , {
203
205
...overlayProps ,
204
- placement,
206
+ placement : updatedPlacement ,
205
207
arrowProps,
206
208
popper,
207
209
className : classNames (
0 commit comments