Skip to content

Fix ListDetailLayout horizontal overflow into the detail pane#15

Merged
mgoldsborough merged 1 commit into
mainfrom
fix/listdetail-horizontal-clip
Jun 19, 2026
Merged

Fix ListDetailLayout horizontal overflow into the detail pane#15
mgoldsborough merged 1 commit into
mainfrom
fix/listdetail-horizontal-clip

Conversation

@mgoldsborough

Copy link
Copy Markdown
Contributor

What

ListDetailLayout.List is a fixed-width (listWidth, default 320), flexShrink:0 master rail that scrolled vertically but did not clip horizontally. A child wider than the rail — most commonly an auto-layout <table> that won't shrink below its intrinsic content width — spilled out of the rail and painted over the detail pane.

Fix

In ListDetailLayout.List:

  • overflowY: "auto"overflow: "hidden auto" (clip X, scroll Y).
  • add minWidth: 0 to the side-by-side rail branch.

So an oversized child now scrolls/clips within the rail instead of overlapping the detail. Guidance unchanged: use ListRow for master lists; reserve Table for full-width surfaces.

Why

Surfaced dogfooding the People CRM, whose list rendered a 3-column Table inside the 320px rail and overlapped the detail panel.

Verification

npm run ci passes — lint, typecheck, build, 381 tests.

Version bumped 0.10.0 → 0.10.1; CHANGELOG updated.

A too-wide child in `ListDetailLayout.List` — e.g. an auto-layout `<table>`
that won't shrink below its content — spilled out of the fixed-width list
rail and painted over the detail pane. Clip horizontal overflow
(`overflow: hidden auto`) and set `minWidth: 0` on the side-by-side rail so
an oversized child scrolls/clips within the rail instead of overlapping it.

Surfaced dogfooding the People CRM, whose list rendered a 3-column table
inside the 320px rail. Prefer `ListRow` for master lists; reserve `Table`
for full-width surfaces.

Bump 0.10.0 -> 0.10.1.
@mgoldsborough mgoldsborough added the qa-reviewed QA review completed with no critical issues label Jun 19, 2026
@mgoldsborough mgoldsborough merged commit 5ed600e into main Jun 19, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

qa-reviewed QA review completed with no critical issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant