diff --git a/deps/shui/src/logseq/shui/popup/core.cljs b/deps/shui/src/logseq/shui/popup/core.cljs index a9819d67e..24b516b89 100644 --- a/deps/shui/src/logseq/shui/popup/core.cljs +++ b/deps/shui/src/logseq/shui/popup/core.cljs @@ -71,8 +71,9 @@ (let [^js rect (.getBoundingClientRect event) left (.-left rect) width (.-width rect) + height (.-height rect) bottom (.-bottom rect)] - [(+ left (/ width 2)) bottom]) + [(+ left (/ width 2)) (- bottom height) width height]) :else [0 0])] (upsert-popup! (merge opts @@ -98,7 +99,7 @@ (js/setTimeout #(detach-popup! id) 128))) [open?]) - (when-let [[x y] position] + (when-let [[x y _ height] position] (let [popup-root (if as-menu? dropdown-menu popover) popup-trigger (if as-menu? dropdown-menu-trigger popover-trigger) popup-content (if as-menu? dropdown-menu-content popover-content)] @@ -106,8 +107,13 @@ (merge root-props {:open open?}) (popup-trigger {:as-child true} - (button {:class "w-1 h-1 overflow-hidden fixed p-0 opacity-0" - :style {:top y :left x}} "")) + (button {:class "overflow-hidden fixed p-0 opacity-0" + :style {:height (if (and (number? height) + (> height 0)) + height 1) + :width 1 + :top y + :left x}} "")) (popup-content (merge {:onEscapeKeyDown #(hide! id) :onPointerDownOutside #(hide! id)} content-props)