@@ -200,12 +200,14 @@ export class Dropdown extends Component<DropdownOptions> implements Openable {
200
200
document . body . addEventListener ( 'click' , this . _handleDocumentClick ) ;
201
201
document . body . addEventListener ( 'touchmove' , this . _handleDocumentTouchmove ) ;
202
202
this . dropdownEl . addEventListener ( 'keydown' , this . _handleDropdownKeydown ) ;
203
+ window . addEventListener ( 'resize' , this . _handleWindowResize ) ;
203
204
}
204
205
205
206
_removeTemporaryEventHandlers ( ) {
206
207
document . body . removeEventListener ( 'click' , this . _handleDocumentClick ) ;
207
208
document . body . removeEventListener ( 'touchmove' , this . _handleDocumentTouchmove ) ;
208
209
this . dropdownEl . removeEventListener ( 'keydown' , this . _handleDropdownKeydown ) ;
210
+ window . removeEventListener ( 'resize' , this . _handleWindowResize ) ;
209
211
}
210
212
211
213
_handleClick = ( e : MouseEvent ) => {
@@ -356,6 +358,15 @@ export class Dropdown extends Component<DropdownOptions> implements Openable {
356
358
this . filterTimeout = setTimeout ( this . _resetFilterQuery , 1000 ) ;
357
359
}
358
360
361
+ _handleWindowResize = ( e : Event ) => {
362
+ // Only re-place the dropdown if it's still visible
363
+ // Accounts for elements hiding via media queries
364
+ if ( this . el . offsetParent ) {
365
+ this . recalculateDimensions ( ) ;
366
+ }
367
+ }
368
+
369
+
359
370
_resetFilterQuery = ( ) => {
360
371
this . filterQuery = [ ] ;
361
372
}
0 commit comments