chore: upgrade design-system-react-native to 0.11.0 and deprecate replaced components#27652
Conversation
|
CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes. |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
7a6ae88 to
036af7a
Compare
036af7a to
9a6cc8a
Compare
ec71f7c
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix prepared a fix for the issue found in the latest run.
- ✅ Fixed: InputStepper still uses removed
isFloatingprop after upgrade- Replaced deprecated isFloating with variant={ButtonIconVariant.Floating} and added the required import.
Or push these changes by commenting:
@cursor push 8091493730
Preview (8091493730)
diff --git a/app/components/UI/Bridge/components/InputStepper/index.tsx b/app/components/UI/Bridge/components/InputStepper/index.tsx
--- a/app/components/UI/Bridge/components/InputStepper/index.tsx
+++ b/app/components/UI/Bridge/components/InputStepper/index.tsx
@@ -4,6 +4,7 @@
import {
ButtonIcon,
ButtonIconSize,
+ ButtonIconVariant,
IconColor,
IconName,
Text,
@@ -42,7 +43,7 @@
<ButtonIcon
size={ButtonIconSize.Lg}
iconName={IconName.Minus}
- isFloating
+ variant={ButtonIconVariant.Floating}
style={tw.style(minusPressed ? 'bg-muted-pressed' : 'bg-muted')}
iconProps={{ color: IconColor.IconDefault }}
onPressIn={() => setMinusPressed(true)}
@@ -72,7 +73,7 @@
<ButtonIcon
size={ButtonIconSize.Lg}
iconName={IconName.Add}
- isFloating
+ variant={ButtonIconVariant.Floating}
style={tw.style(plusPressed ? 'bg-muted-pressed' : 'bg-muted')}
iconProps={{ color: IconColor.IconDefault }}
onPressIn={() => setPlusPressed(true)}You can send follow-ups to this agent here.
…laced components Upgrade @metamask/design-system-react-native from ^0.10.0 to ^0.11.0 and mark local component-library components that now have design system replacements as @deprecated with migration links. Breaking change fix: ButtonIcon isFloating prop replaced by variant enum in 0.11.0 — migrated InputStepper to use ButtonIconVariant.Floating. Newly deprecated components (available in DS since 0.11.0): - MainActionButton - TabEmptyState - ButtonFilter - BannerBase - Banner (union — use BannerAlert from DS directly) - BannerAlert - BannerTip (unused, will be removed) - BottomSheet - BottomSheetDialog - ListItem
- Pass controlled password value into RevealPrivateCredential TextField - Use ButtonIcon isFloating instead of removed ButtonIconVariant in InputStepper Made-with: Cursor
| } | ||
|
|
||
| export interface PasswordEntryProps { | ||
| password: string; |
There was a problem hiding this comment.
Updating PasswordEntry from an uncontrolled component to a controlled component due to controlled only support from design system component
| ) : ( | ||
| <Box twClassName="p-5 pb-0"> | ||
| <PasswordEntry | ||
| password={password} |
There was a problem hiding this comment.
Update due to controlled input only change from design system library update
🔍 Smart E2E Test Selection⏭️ Smart E2E selection skipped - draft PR All E2E tests pre-selected. |
| size={ButtonIconSize.Lg} | ||
| iconName={IconName.Minus} | ||
| isFloating | ||
| variant={ButtonIconVariant.Floating} |
There was a problem hiding this comment.
Updating breaking change isFloating has changed to variant={ButtonIconVariant.Floating}
|
✅ E2E Fixture Validation — Schema is up to date |
|
SonarCloud is failing because of the added
|







Description
Upgrades
@metamask/design-system-react-nativefrom^0.10.0to^0.11.0and deprecates local component-library components that now have design system replacements.https://github.com/MetaMask/metamask-design-system/releases/tag/v25.0.0
Why: The design system monorepo v25.0.0 release (
@metamask/design-system-react-native@0.11.0) shipped several new components that duplicate functionality currently inapp/component-library/. Upgrading and marking local equivalents as@deprecatedguides developers toward the canonical design system implementations and prevents further adoption of the local versions.What changed:
@metamask/design-system-react-nativebumped from^0.10.0to^0.11.0ButtonIconisFloatingboolean prop replaced byvariantenum in 0.11.0; migratedInputStepperto useButtonIconVariant.Floating@deprecatedJSDoc following the existing codebase pattern, linking to component READMEs and migration docs:MainActionButton(components-temp)TabEmptyState(components-temp)ButtonFilter(components-temp)BannerBase(foundation)Banner(union — useBannerAlertfrom DS directly)BannerAlert(variant)BannerTip(variant — unused, will be removed)BottomSheetBottomSheetDialog(foundation)ListItemChangelog
CHANGELOG entry: null
Related issues
Fixes:
Manual testing steps
N/A — deprecation annotations are documentation-only changes. The
ButtonIconprop migration inInputSteppercan be verified by navigating to the Bridge input stepper UI.Screenshots/Recordings
Before
N/A
After
N/A
Pre-merge author checklist
Pre-merge reviewer checklist
Note
Medium Risk
Upgrades a shared UI dependency and migrates to a changed
ButtonIconAPI, which could cause subtle UI/regression issues if other call sites rely on previous props or styles. Password handling was also adjusted to be controlled in a couple of sensitive SRP/password-entry screens, so review for unintended behavior changes.Overview
Upgrades
@metamask/design-system-react-nativeto0.11.0(and@metamask/design-system-sharedto0.4.0via lockfile), and updates the BridgeInputStepperto the newButtonIconAPI by replacingisFloatingwithvariant={ButtonIconVariant.Floating}.Marks multiple in-repo component-library equivalents as deprecated via JSDoc (e.g.
Banner,BannerBase,BottomSheet,ListItem, and severalcomponents-tempcomponents), pointing developers to the design-system replacements and notingBannerVariant.Tip/BannerTipas unused and slated for removal.Tightens password input control by initializing
ManualBackupStep1password state to''and wiringRevealPrivateCredential’sPasswordEntryto a new requiredpasswordprop, with corresponding snapshot updates.Written by Cursor Bugbot for commit 5987809. This will update automatically on new commits. Configure here.