From 87e3d68f866e9cb59c0dff99915a6734f8cfe99f Mon Sep 17 00:00:00 2001 From: dev Date: Fri, 22 May 2026 14:39:19 +0200 Subject: [PATCH] fix(combobox): pin clear+trigger to first row, not vertical center MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit With many chips wrapping into 3+ rows, the previous `top: 50%` + translateY centered the clear/trigger pair at the midpoint of the whole stack — visually below the first row of chips. Pin to `top: var(--space-1)` instead so they sit flush with the first chip row no matter how many additional rows of chips wrap below. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/uix/eidos/components/combobox/combobox.css | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/uix/eidos/components/combobox/combobox.css b/src/uix/eidos/components/combobox/combobox.css index 75e2ce386..44ac3e9a8 100644 --- a/src/uix/eidos/components/combobox/combobox.css +++ b/src/uix/eidos/components/combobox/combobox.css @@ -526,8 +526,12 @@ [data-combobox-control]:has([data-combobox-selected-tags]:not([data-empty])) [data-combobox-trigger] { position: absolute; - inset-block-start: 50%; - transform: translateY(-50%); + /* Pin to the FIRST row of the wrapped control so the affordances stay + * aligned with the input + chip row even when many chips wrap into + * extra rows below. `padding-block` (var(--space-1)) is the control's + * top offset; matching that here keeps the buttons flush with the + * first chip / input row. */ + inset-block-start: var(--space-1); } [data-combobox-control]:has([data-combobox-selected-tags]:not([data-empty]))