@@ -169,6 +169,7 @@ abstract class SliderBase extends UI5Element {
169
169
_resizeHandler : ResizeObserverCallback ;
170
170
_moveHandler : ( e : TouchEvent | MouseEvent ) => void ;
171
171
_upHandler : ( e : TouchEvent | MouseEvent ) => void ;
172
+ _windowMouseoutHandler : ( e : MouseEvent ) => void ;
172
173
_stateStorage : StateStorage ;
173
174
notResized = false ;
174
175
_isUserInteraction = false ;
@@ -189,6 +190,11 @@ abstract class SliderBase extends UI5Element {
189
190
this . _resizeHandler = this . _handleResize . bind ( this ) ;
190
191
this . _moveHandler = this . _handleMove . bind ( this ) ;
191
192
this . _upHandler = this . _handleUp . bind ( this ) ;
193
+ this . _windowMouseoutHandler = ( e : MouseEvent ) => {
194
+ if ( e . relatedTarget === document . documentElement ) {
195
+ this . handleUpBase ( ) ;
196
+ }
197
+ } ;
192
198
193
199
this . _stateStorage = {
194
200
step : undefined ,
@@ -430,6 +436,7 @@ abstract class SliderBase extends UI5Element {
430
436
431
437
window . addEventListener ( "mouseup" , this . _upHandler ) ;
432
438
window . addEventListener ( "touchend" , this . _upHandler ) ;
439
+ window . addEventListener ( "mouseout" , this . _windowMouseoutHandler ) ;
433
440
// Only allow one type of move event to be listened to (the first one registered after the down event)
434
441
if ( supportsTouch ( ) && e instanceof TouchEvent ) {
435
442
window . addEventListener ( "touchmove" , this . _moveHandler ) ;
@@ -463,6 +470,7 @@ abstract class SliderBase extends UI5Element {
463
470
handleUpBase ( ) {
464
471
window . removeEventListener ( "mouseup" , this . _upHandler ) ;
465
472
window . removeEventListener ( "touchend" , this . _upHandler ) ;
473
+ window . removeEventListener ( "mouseout" , this . _windowMouseoutHandler ) ;
466
474
// Only one of the following was attached, but it's ok to remove both as there is no error
467
475
window . removeEventListener ( "mousemove" , this . _moveHandler ) ;
468
476
window . removeEventListener ( "touchmove" , this . _moveHandler ) ;
0 commit comments