Skip to content

fix(button-group): preserve open trigger corners - #809

Merged
mattrothenberg merged 1 commit into
mainfrom
fix/button-group-open-corners
Sep 17, 2026
Merged

mattrothenberg merged 1 commit into
mainfrom
fix/button-group-open-corners

Conversation

@mattrothenberg

@mattrothenberg mattrothenberg commented Sep 17, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • preserve the trailing rounded corners of a ButtonGroup overlay trigger while its menu is open
  • flatten a control's end edge only when another button or link follows it
  • add regression coverage for non-control siblings mounted by overlays

Before

Screenshot 2026-09-17 at 12 47 24 PM

After

Screenshot 2026-09-17 at 1 16 04 PM

Validation

  • pnpm --filter @cloudflare/kumo exec vp test src/components/button-group/button-group.test.tsx

  • pnpm --filter @cloudflare/kumo exec vp lint src/components/button-group

  • verified the open-menu state in the local ButtonGroup docs using Chrome

  • Reviews

  • bonk has reviewed the change

  • automated review not possible because: this is a focused CSS selector fix verified by regression test and local browser testing

  • Tests

  • Tests included/updated

  • Automated tests not possible - manual testing has been completed as follows: not applicable

  • Additional testing not necessary because: not applicable

@pkg-pr-new

pkg-pr-new Bot commented Sep 17, 2026

Copy link
Copy Markdown
npm i https://pkg.pr.new/@cloudflare/kumo@809

commit: 2b971b6

@ask-bonk

ask-bonk Bot commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

LGTM!

Review notes
  • Confirmed the review target is cloudflare/kumo PR fix(button-group): preserve open trigger corners #809. I’ll inspect repository guidance, the PR diff, and existing review feedback before assessing the selector change and its regression coverage.
  • The one-commit diff changes only ButtonGroup’s direct-control end-corner selector, adds a patch changeset, and adds a class-string regression assertion. There are no existing PR reviews or comments to avoid duplicating. I’m checking component nesting and overlay DOM behavior, including the retained wrapped-control selector.
  • The documented split button renders DropdownMenu as a fragment-like root, so its trigger is a direct button in the group and its open portal can add a trailing non-control sibling. The revised :has(~ ...) selector correctly limits direct controls’ end-corner flattening to cases with a following direct control; I’m validating the generated selector and targeted test without modifying repository files.
  • Full ButtonGroup, dropdown, tooltip, and documented split-button implementations were inspected. The end-edge selector applies only when a later sibling is a direct button or a, while the overlay trigger remains a direct control; this preserves the trailing corner when the portal adds a non-control sibling.
  • Targeted test and lint commands could not run because pnpm is not installed in this runner. The worktree remains unmodified.

github run

@github-actions

Copy link
Copy Markdown
Contributor
Visual Regression Report — 3 changed, 1 unchanged

3 screenshot(s) with visual changes:

Button Group / Basic

627 px (0.71%) changed

Before After Diff
Before After Diff

Button Group / Button Group Split

714 px (0.81%) changed

Before After Diff
Before After Diff

Button Group / Button Group Sizes

412 px (0.47%) changed

Before After Diff
Before After Diff
1 screenshot(s) unchanged
  • Button Group / Button Group Secondary

Generated by Kumo Visual Regression

@github-actions

Copy link
Copy Markdown
Contributor

Visual contracts

Linux Chromium references exercised by the PR's visual-contracts job.

1 curated contract

truncating text trigger

truncating text trigger

@github-actions

Copy link
Copy Markdown
Contributor

📐 Bundle Size

Consumer fixtures bundled against packages/kumo/dist (peers external, minified ESM).

Fixture Raw Gzip Brotli
Button (root) 174.6 KB 49.9 KB 43.1 KB
Button (components/button) 174.5 KB 49.9 KB 43.1 KB
Button + Dialog + Select (root) 299.5 KB 85.8 KB 71.9 KB
Button + Dialog + Select (component subpaths) 299.5 KB 85.9 KB 71.9 KB
Chart (root) 247.0 KB 71.1 KB 60.9 KB
Chart (components/chart) 246.9 KB 71.1 KB 60.9 KB
Badge (components/badge) 44.7 KB 11.7 KB 10.0 KB
Flow (components/flow) 208.9 KB 58.3 KB 50.5 KB
Button (primitives/button) 12.2 KB 4.4 KB 3.9 KB
Primitives barrel 635.8 KB 176.9 KB 139.3 KB
Code highlighting (code) 2.08 MB 468.0 KB 349.3 KB

npm tarball: 544 files, 1.49 MB packed, 6.95 MB unpacked.

⚠️ 23 flagged files in tarball (tests / raw scripts)
  • dist/blocks-source/resource-list/resource-list.test.tsx
  • scripts/component-registry/cache.ts
  • scripts/component-registry/discovery.ts
  • scripts/component-registry/example-cleanup.ts
  • scripts/component-registry/index.test.ts
  • scripts/component-registry/index.ts
  • scripts/component-registry/markdown-generator.ts
  • scripts/component-registry/metadata.ts
  • scripts/component-registry/props-filter.ts
  • scripts/component-registry/schema-generator.ts
  • scripts/component-registry/sub-components.ts
  • scripts/component-registry/types.ts
  • scripts/component-registry/utils.ts
  • scripts/component-registry/variant-parser.ts
  • scripts/css-build.ts
  • scripts/generate-globe-land-mask.mjs
  • scripts/generate-primitives.ts
  • scripts/theme-generator/config.ts
  • scripts/theme-generator/generate-css.test.ts
  • scripts/theme-generator/generate-css.ts
  • scripts/theme-generator/index.ts
  • scripts/theme-generator/migrate.ts
  • scripts/theme-generator/types.ts

Report-only: no size thresholds are enforced yet.

Commit: 2b971b62

@cloudflare-workers-and-pages

Copy link
Copy Markdown

🚀 Deploying Preview to Cloudflare 🚀

Preview URL: https://fix-button-group-open-corners-kumo-docs.design-engineering.workers.dev (commit 2b971b6)

This URL reflects your latest Preview deployment

Preview Deployments by commit

Status Deployment URL Commit Updated (UTC) See this deployment's details
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://8388d5c8-kumo-docs.design-engineering.workers.dev 2b971b6 2026-09-17T17:18:20.054Z Visit the dashboard ↗

@mattrothenberg
mattrothenberg merged commit 7d91721 into main Sep 17, 2026
20 of 22 checks passed
@mattrothenberg
mattrothenberg deleted the fix/button-group-open-corners branch September 17, 2026 19:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants