From c3def5d60f031d2a1cfac0675544b826fe9a15b7 Mon Sep 17 00:00:00 2001 From: dev Date: Wed, 1 Jul 2026 13:59:12 +0200 Subject: [PATCH] =?UTF-8?q?fix(tooltip):=20un-clip=20the=20caret=20?= =?UTF-8?q?=E2=80=94=20the=20real=20cause=20was=20overflow,=20not=20colour?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The tooltip content is `position: relative; overflow: auto`, so the caret (`position: absolute`, containing block = the content) that pokes past the panel edge was CLIPPED away — invisible regardless of its colour. Confirmed by measuring: the caret sits fully outside the content box, and the content clips its overflow. Change the content to `overflow: visible` — the same reason the popover content is `overflow: visible` (its comment literally says "fixes the arrow that overflow:auto used to clip"). Tooltips are short, so no inner scroll viewport is needed. Verified in a real browser: the dark caret is now clearly visible pointing at the trigger. Combined with a40d1573 (caret colour back to currentColor) + the earlier `display: block` (correct arrow height → correct trigger gap), the tooltip arrow is visible and correctly placed again. Co-Authored-By: Claude Opus 4.8 --- src/uix/eidos/components/tooltip/tooltip.css | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/uix/eidos/components/tooltip/tooltip.css b/src/uix/eidos/components/tooltip/tooltip.css index 34004cb0d..29b672371 100644 --- a/src/uix/eidos/components/tooltip/tooltip.css +++ b/src/uix/eidos/components/tooltip/tooltip.css @@ -27,8 +27,11 @@ min-block-size: var(--_tooltip-content-min-height-override, auto); max-block-size: var(--_tooltip-max-height); padding: var(--_tooltip-py) var(--_tooltip-px); - overflow: auto; - overscroll-behavior: contain; + /* `visible` so the absolutely-positioned caret (containing block = this relative + * content) is NOT clipped where it pokes past the panel edge — the same reason + * the popover content is `overflow: visible`. Without this the arrow was clipped + * away entirely. Tooltips are short, so no inner scroll viewport is needed. */ + overflow: visible; border: var(--tooltip-border-width) solid var(--_tooltip-border); border-radius: var(--tooltip-radius); background: var(--_tooltip-bg);