diff --git a/frontend/src/app/main/ui/ds/tooltip/tooltip.cljs b/frontend/src/app/main/ui/ds/tooltip/tooltip.cljs index 968361f865..4c35d37303 100644 --- a/frontend/src/app/main/ui/ds/tooltip/tooltip.cljs +++ b/frontend/src/app/main/ui/ds/tooltip/tooltip.cljs @@ -198,6 +198,14 @@ (reset! active-tooltip {:id tooltip-id :trigger trigger-el}) (reset! visible* true))))))) + on-show-focus + (mf/use-fn + (mf/deps on-show) + (fn [event] + (let [related (dom/get-related-target event)] + (when (some? related) + (on-show event))))) + on-hide (mf/use-fn (mf/deps tooltip-id) @@ -234,7 +242,7 @@ (mf/spread-props props {:on-mouse-enter on-show :on-mouse-leave on-hide - :on-focus on-show + :on-focus on-show-focus :on-blur on-hide :ref internal-trigger-ref :on-key-down handle-key-down @@ -244,17 +252,6 @@ content aria-label)})] - (mf/use-effect - (mf/deps tooltip-id) - (fn [] - (let [handle-visibility-change - (fn [] - (when (.-hidden js/document) - (on-hide)))] - (js/document.addEventListener "visibilitychange" handle-visibility-change) - ;; cleanup - #(js/document.removeEventListener "visibilitychange" handle-visibility-change)))) - (mf/use-effect (mf/deps visible placement offset) (fn []