refactor(source-picker): glue kebab to Select as a split-button chip#2369
refactor(source-picker): glue kebab to Select as a split-button chip#2369elizabetdev wants to merge 1 commit into
Conversation
…utton chip The kebab `SourceManagementMenu` was rendered as a separate sibling of the Select with a 4px gap, so it read as "Select plus an unrelated icon button" rather than "actions on this source." Restyle the pair as a single split-button chip: the input's right corners are squared, the kebab's left corners are squared, the kebab stretches to match the input's height, and its left border overlaps the input's right border by 1px so the two share a single seam. Override Mantine v7 corners via `--input-radius` / `--ai-radius` (the canonical override path) instead of fighting class-level `border-radius` against `@layer mantine`. Also normalize the kebab tooltip to the app-wide convention (`withArrow`, default color) so it matches `Filter Settings` and other gray-tinted tooltips across the app. When `hasMenu` is false (no handlers wired, e.g. `DBTableSelect` callers), the `[data-with-menu]` attribute is omitted and the original side-by-side layout is preserved. Co-authored-by: Cursor <cursoragent@cursor.com>
|
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Deep Review✅ No critical issues found. This diff is a pure visual/CSS refactor restyling the source The 🔵 P3 nitpicks (1)
Reviewers (1): synthesis (small-diff direct review; multi-agent fan-out not warranted for a ~30-line CSS-only change). |
Summary
Restyles
SourceSelect+SourceManagementMenufrom "Select plus a floating icon button" into a single split-button chip.Also normalizes the kebab
Tooltipto the app-wide convention (withArrow, default color) so it reads the same asFilter Settingsand other gray tooltips across the app —color=\"dark\"was an inconsistency, not an intentional variant.When
hasMenuis false (e.g.DBTableSelectcallers that don't wireonEditCurrentSource/onCreateSource), the[data-with-menu]attribute is omitted and the original side-by-side layout is preserved, so this is azero-risk change for non-source callers.
Why
The kebab being its own visually detached
ActionIconmakes it ambiguous whether the menu acts on the selected source or on something more global (e.g. the page). Treating Select + kebab as a unified chip makes "actions onthis source" the obvious read at a glance, mirroring the split-button pattern in the Mantine docs.
Test plan
SourceSelectin search / dashboard tile editor / alert editor renders as a single chip with no visible gap or double border between input and kebab.Filter Settings/ other gray tooltips (with arrow, default color).DBTableSelect(no menu wired) renders the input alone with its original rounded corners and no orphaned styles.var(--input-bd, var(--color-border))).Made with Cursor