Skip to content

Do not merge: Draft/assetdetails#985

Draft
brianacnguyen wants to merge 10 commits intomainfrom
draft/assetdetails
Draft

Do not merge: Draft/assetdetails#985
brianacnguyen wants to merge 10 commits intomainfrom
draft/assetdetails

Conversation

@brianacnguyen
Copy link
Contributor

@brianacnguyen brianacnguyen commented Mar 18, 2026

Description

Related issues

Fixes:

Manual testing steps

  1. Go to this page...

Screenshots/Recordings

Before

After

Pre-merge author checklist

  • I've followed MetaMask Contributor Docs
  • I've completed the PR template to the best of my ability
  • I’ve included tests if applicable
  • I’ve documented my code using JSDoc format if applicable
  • I’ve applied the right labels on the PR (see labeling guidelines). Not required for external contributors.

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

Note

Medium Risk
Adds several new reusable UI components (headers, sections, search field) and extends ButtonIcon sizing, which may affect consumers’ layouts and interactions. Risk is moderate because changes are mostly presentation-level but touch shared design-system primitives and Storybook registration.

Overview
Adds new design-system components for React Native: Attribution, HeaderRoot, HeaderSearch, HeaderStandard, HeaderStandardAnimated (+ useHeaderStandardAnimated), KeyValuePair, SectionBase, SectionStandard, SectionInsights, SectionSocial, and TextFieldSearch, each with accompanying tests, Storybook stories, and README docs.

Updates shared primitives to support these patterns: introduces ButtonIconSize.Xs mappings (including tests/docs), adjusts ButtonFilter base styling, and registers the new stories in Storybook.

Written by Cursor Bugbot for commit df7f122. This will update automatically on new commits. Configure here.

@brianacnguyen brianacnguyen requested a review from a team as a code owner March 18, 2026 16:05
@brianacnguyen brianacnguyen marked this pull request as draft March 18, 2026 16:05
@github-actions
Copy link
Contributor

📖 Storybook Preview

Copy link
Contributor

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

variant: TextVariant.BodySm,
color: TextColor.TextAlternative,
twClassName: `flex-1 ${textProps?.twClassName ?? ''}`.trim(),
}}
Copy link
Contributor

Choose a reason for hiding this comment

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

textProps spread order prevents user overrides

High Severity

The textProps object spreads the user-provided textProps first, then hardcodes variant and color after, meaning the explicit defaults always win. Users can never override variant or color via textProps. The defaults need to come before the spread ({ variant: BodySm, color: TextAlternative, ...textProps, twClassName: ... }) so user-supplied values take precedence. This breaks the TextPropsOverride story and the "merges textProps over defaults" test, and contradicts the README which states overrides are supported.

Fix in Cursor Fix in Web

@github-actions
Copy link
Contributor

📖 Storybook Preview

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.

1 participant