diff --git a/projects/cdk/directives/hovered/hovered.service.ts b/projects/cdk/directives/hovered/hovered.service.ts index 5e9764081c76..f2242410ae93 100644 --- a/projects/cdk/directives/hovered/hovered.service.ts +++ b/projects/cdk/directives/hovered/hovered.service.ts @@ -27,6 +27,13 @@ export class TuiHoveredService extends Observable { filter(movedOut), map(ALWAYS_FALSE_HANDLER), ), + /** + * NOTE: onmouseout events don't trigger when objects move under mouse in Safari + * https://bugs.webkit.org/show_bug.cgi?id=4117 + */ + tuiTypedFromEvent(this.el.nativeElement, `transitionend`).pipe( + map(() => this.el.nativeElement.matches(`:hover`)), + ), ).pipe(distinctUntilChanged(), tuiZoneOptimized(this.zone)); constructor( diff --git a/projects/demo/src/modules/components/dialog/examples/6/index.html b/projects/demo/src/modules/components/dialog/examples/6/index.html index b129ef40d753..c0427169884f 100644 --- a/projects/demo/src/modules/components/dialog/examples/6/index.html +++ b/projects/demo/src/modules/components/dialog/examples/6/index.html @@ -1,6 +1,8 @@