feat(palette): collapsible desktop rail, tighter rows, steadier mobile sheet - #190
Merged
Merged
Conversation
…e sheet Palette rail: - Collapse/restore it from a new toolbar toggle (desktop only — the mobile palette is already a sheet). Collapsing hides the rail rather than unmounting it, so it returns with its sections and search intact, and a zero-width spacer stands in for it so the shell keeps its height in hosts that give the builder none. - Narrow the rail (w-72 → w-56) and tighten the rows to py-1. Mobile sheet: - Give the toolbar's "+ Blocks" button gap-1. - Don't hand focus to the palette's first control when the sheet opens. Radix's default put it on the Advanced link, whose tooltip then opened unbidden on every tap (and in advanced mode it raised the keyboard over the list instead). Focus lands on the sheet itself. - Remember which side of the simple/advanced switch the user is on, so a sheet that reopens after a pick doesn't drop back to the basic list. Also drops "plus a search box" from the Advanced tooltip. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RnK76UVo9ZyuGodyyroiSb
Contributor
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
block-kitchen | c81679c | Commit Preview URL Branch Preview URL |
Aug 16 2026, 04:43 PM |
Contributor
Cloudflare preview✅ Deployed |
Upstream patch release. Two of its fixes land in the preview: rich_text sections now stack on their own lines, and a bullet list no longer seeds the numbering of an ordered list that follows it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RnK76UVo9ZyuGodyyroiSb
The toolbar was the wrong home for it — it sat away from the thing it acts on and spent a labelled slot on it. It's now a thin chevron riding the rail's own right border, vertically centred and half over the line, with no border or shadow of its own: its background is what breaks the border behind it. With the rail hidden the column has no width, so the chevron tucks against the shell's left edge and points the other way. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RnK76UVo9ZyuGodyyroiSb
In the mobile palette the disclosure chevron sat left of the label, where an icon identifying the block would go — but it isn't one. Moving it to the end of the row lines the labels up for scanning and lets the chevron read as what it is. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RnK76UVo9ZyuGodyyroiSb
Simple mode was a one-block list: the rich text section and nothing else. An ordinary message usually wants a heading, a rule and a picture too, so the built-in palette flags those as `basic` as well — the list now reads Header, Divider, Rich Text Section, Image, in palette order. The flat list has no section headings, which is what made "No title" (under Image) unusable there. Variants can now carry a `basicLabel` for that case, and the built-in image variant uses it to show up as "Image" in simple mode while keeping its sectioned name in the full palette. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RnK76UVo9ZyuGodyyroiSb
StephenTangCook
force-pushed
the
claude/blocks-palette-mobile-fixes-c3v2l9
branch
from
August 16, 2026 16:37
f596a52 to
08dc19f
Compare
A bare chevron over the border line read as loose; a hairline border in the rail's own border color makes the handle part of the edge it rides. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RnK76UVo9ZyuGodyyroiSb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Palette housekeeping either side of the
mdbreakpoint: the desktop rail is now narrower, tighter, and collapsible from a handle on its own edge; the mobile sheet stops stealing focus on open and stops forgetting that the user asked for the advanced palette. Also bumpsslack-blocks-to-jsxto 1.1.2.Why
Reported while using the builder:
py-1now (frompy-1.5) and the rail isw-56(fromw-72), so the preview gets the width back.paletteModeunderneath.gap-1.Dependency bump
slack-blocks-to-jsx1.1.1 → 1.1.2 (patch). Two of its fixes land in the preview: rich_text sections stack on their own lines, and a bullet list no longer seeds the numbering of an ordered list that follows it. No API change on our side.Test plan
pnpm typecheckpnpm lintpnpm buildpnpm test— 503 passing, including the Storybook a11y project and the built-stylesheet browser teststest/palette-rail-and-sheet.test.tsx: rail collapses/restores and comes back with its search intact; the sheet opens unfocused with no tooltip; the sheet re-opens on the side of the switch it was left on (and back again)