Skip to content

Consolidate button - #8524

Open
jonathanawesome wants to merge 83 commits into
consolidate-formfrom
consolidate-button
Open

jonathanawesome wants to merge 83 commits into
consolidate-formfrom
consolidate-button

Conversation

@jonathanawesome

Copy link
Copy Markdown
Member

This PR moves every button in the app onto base Button, on Base UI's render hook, and deletes ui/button, @radix-ui/react-slot, @radix-ui/react-icons and react-icons.

Every Radix and react-icons icon is on lucide. The brand marks lucide does not carry, or has deprecated, live in ui/brand-icon.tsx: GraphQL, Hive, GitHub, Google, Okta, OpenID and Slack. The twenty hand-rolled icons in the old ui/icon.tsx that duplicated lucide glyphs are gone with it.

Four things rendered the old Button with most of its defaults undone and are plain elements with their own classes now: the vertical sub-page nav item (also used by the target alerts page), the stepper's step circles, the calendar's nav arrows and day cells, and the explorer's A–Z letter strips.

Found along the way

  • The "last used" shimmer on the sign-in page merged a gradient class onto the button through a Slot. It is an overlay on a wrapper now, so it works on any fill.
  • The changelog trigger's pulse dot and the CopyText hover button both relied on classes the base Button does not accept; both sit on wrappers now.
  • The stepper's four asChild slots had no caller and are gone.

Design changes to review

  • Every button is a rung smaller: 36px where it was 40px, and dialog footers lose their 44px.
  • The accent orange fill is gone; the loud action in a form is the neutral-12 primary.
  • Destructive is the tinted, bordered base style rather than a solid red fill.

@jonathanawesome
jonathanawesome added this pull request to stack #8508 September 20, 2026 22:12
@theguild-bot

theguild-bot commented Sep 20, 2026

Copy link
Copy Markdown
Collaborator

🚀 Snapshot Release (alpha)

The latest changes of this PR are available as alpha on npm (based on the declared changesets):

Package Version Info
hive 11.14.1-alpha-20260921155131-a80cf96440041802cea6f7daf570d1f0a0cb6d52 npm ↗︎ unpkg ↗︎

@github-actions

github-actions Bot commented Sep 20, 2026

Copy link
Copy Markdown
Contributor

🐋 This PR was built and pushed to the following Docker images:

Targets: build

Platforms: linux/amd64

Image Tags: 11.14.1-alpha-a80cf96, a80cf96, a80cf96440041802cea6f7daf570d1f0a0cb6d52

…views against ui/tabs, and the tabs inventory
…to base SecondaryNavigation and drop the tabs-based nav link
…or and new proposal page onto base Tabs, and scope the Monaco presentation reset so the tab indicator paints
…proposal editor service tabs onto base Tabs, with service renaming in the settings panel
…ry with call-site previews for Tabs, TabbedView, SecondaryNavigation and the laboratory ToggleGroup
…ith call-site previews, move TabbedView's picker out of the tablist, and fix the header tab sizes, exact link matching and the checks and history state resets
…e gear button, and let the vertical Tabs panel scroll inside a page that fixes its height
…tus icons out of the leading slot, clear of the selection check
…ith a button to scope to it, and base Legend, a key to icons shown without their text, and move TabbedView under Components in foundry
…d navigation links share a quiet dotted one, and the legacy ring token follows the accent
…ook-form, with a page spec written against the Formik version first
…eact-hook-form, with page spec tests written against the Formik version first
…d react-hook-form, with page spec tests written against the Formik version first
… and react-hook-form, with page spec tests written against the Formik version first
…-form, with a spec written against the Formik version first
…ea specs onto base Form, mount the real ticket and operation forms in the overlay previews, and drop formik, yup and the yup transformer
…ture, and delete ui/form, ui/label and @radix-ui/react-label
…the brand marks in ui/brand-icon, and drop both icon packages
…vigate, and show every old button shape beside its base rendering in the inventory
…utton, and take the sub-page nav and the explorer letter strips off Button onto their own classes
… pages onto base Button, and take the stepper circles and calendar cells onto their own classes
… the base call-sites fixture, and delete ui/button and @radix-ui/react-slot

@jdolle jdolle left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added regression for #8527

Otherwise this is looking good

jdolle and others added 2 commits September 22, 2026 14:47
Co-authored-by: Jonathan Brennan <jonathanawesome@users.noreply.github.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants