From 5fcee8957aa43af67e7675b8def3f640d4200b54 Mon Sep 17 00:00:00 2001 From: Dan Shapiro <3732858+danshapiro@users.noreply.github.com> Date: Fri, 31 Jul 2026 23:44:19 -0700 Subject: [PATCH] feat(tabs): uniform responsive tab widths (180px cap, equal shrink) Give every tab in the tab bar a uniform, responsive width instead of content-driven sizing with a hard 5rem title cap: - TabBar: each sortable tab wrapper gets w-[180px] min-w-[100px] shrink, so tabs are 180px when space allows and shrink equally to a 100px floor before the strip scrolls (single-row and multirow modes). The DragOverlay preview wrapper gets w-[180px] to match. - TabItem: tab root is w-full min-w-0; title span uses flex-1 min-w-0 truncate (close button pinned to the right edge); icons, status dot, and close button are shrink-0; rename input uses flex-1 min-w-0. - Tests: title-width-class test asserts the new flexible classes. Verified: 121 tests pass across TabItem, TabBar, overflow, multirow, a11y, and mobile suites. Generated with Amplifier Co-Authored-By: Amplifier <240397093+microsoft-amplifier@users.noreply.github.com> --- src/components/TabBar.tsx | 11 ++++++++++- src/components/TabItem.tsx | 12 ++++++------ test/unit/client/components/TabItem.test.tsx | 10 +++++++--- 3 files changed, 23 insertions(+), 10 deletions(-) diff --git a/src/components/TabBar.tsx b/src/components/TabBar.tsx index d262b05d8..52871d27d 100644 --- a/src/components/TabBar.tsx +++ b/src/components/TabBar.tsx @@ -121,7 +121,15 @@ function SortableTab({ ) return ( -