Conversation
…to ButtonComposed Rename isSubmitActionDangerous/useSmallerSubmitButtonSize/shouldBlendOpacity (and their Form/FormWrapper forwarding chain) to buttonVariant/buttonSize/ blendButtonOpacity, matching ButtonComposed's own prop shapes so no boolean-to-enum conversion happens along the way. Same for AmountFilterContent's largeButton -> buttonSize. Drop the dead buttonSize (FormAlertWithSubmitButton) and submitButtonBlendOpacity (FormWrapper) props that no caller ever set.
|
Hey! I see that you made changes to our Form component. Make sure to update the docs in FORMS.md accordingly. Cheers! |
CopyPolicySettingsProgressModalTest and LeaveWorkspaceFlowTest were left checking success/danger — missed earlier because the migration sweep only searched src/, not tests/. Update to assert buttonVariant.
Codecov Report❌ Looks like you've decreased code coverage for some files. Please write tests to increase, or at least maintain, the existing level of code coverage. See our documentation here for how to interpret this table.
|
|
@ZhenjaHorbach Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
|
No Product review needed. |
Reviewer Checklist
Screenshots/VideosAndroid: HybridApp2026-08-27.11.08.04.movAndroid: mWeb Chrome2026-08-27.11.08.04.moviOS: HybridApp2026-08-27.11.06.39.moviOS: mWeb Safari2026-08-27.10.56.59.movMacOS: Chrome / Safari2026-08-27.10.52.53.mov |
|
Working on this PR |
|
@Guccio163 |
…-fork into Guccio163/button/propsCleanup
|
@ZhenjaHorbach done |
|
Changes look good! |
|
@Guccio163 |
…-fork into Guccio163/button/propsCleanup
|
@ZhenjaHorbach done |
mountiny
left a comment
There was a problem hiding this comment.
Thanks for this clean up
|
🚧 mountiny has triggered a test Expensify/App build. You can view the workflow run here. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
🚀 Deployed to staging by https://github.com/mountiny in version: 9.4.65-0 🚀
|
|
No help site changes are required for this PR, so I did not create a draft docs PR. This is a type-level refactor of internal React component props. Nothing a help site article describes has changed. What I checkedNo user-facing surface changed:
Every change is a 1:1 prop rename with an equivalent value:
Buttons keep the same text, the same colors, and the same actions. The two removed props were dead code with no callers. Help site articles document workflows, settings, and features — for example how to close an account, delete a workspace, or use Advanced filters. None of those steps, screens, or labels changed here, so no article text becomes inaccurate. @Guccio163, please confirm you agree that no help site updates are needed. If you think an article does need updating because of this change, reply with the article and what should change, and I'll open the draft PR. |
|
🚀 Deployed to production by https://github.com/francoisl in version: 9.4.65-3 🚀
Bundle Size Analysis (Sentry): |
Explanation of Change
Aligns several
ButtonComposedwrapper components' public props to matchButtonComposed's own prop shapes, so no boolean->enum conversion happens at any layer between the caller and the actual<Button>. Pure rename/retype refactor, no intended behavior change.ConfirmModal/ConfirmContent:success/dangerbooleans -> singlevariant/buttonVariant(ButtonVariant, defaultSUCCESS). Updated every call site (JSX props,showConfirmModal/showConfirmModalAfterMoreMenuDismissobject calls,getDiscardChangesModalConfig.ts).EmptyStateComponent'sEmptyStateButtonconfig type (shared byTable.EmptyState,TableEmptyState,GenericEmptyStateComponent):success?: boolean->buttonVariant?: ButtonVariant. Updated every button-config call site, including a duplicated inline type inSearchUIUtils.ts.FormAlertWithSubmitButton+ itsForm/FormWrapperforwarding chain:isSubmitActionDangerous->buttonVariant,shouldBlendOpacity->blendButtonOpacity. Renamed through every layer (Form->FormWrapper->FormAlertWithSubmitButton) so the value reaches<Button>unconverted.AmountFilterContent:largeButton->buttonSize(ValueOf<typeof CONST.BUTTON_SIZE>, excludingSMALL— the old boolean only ever toggled MEDIUM/LARGE).FormAlertWithSubmitButton's size flag (no caller ever set it) andFormWrapper's blend-opacity flag (not even declared onForm's public type, so unreachable from any<Form>caller).Fixed Issues
$ #99057
PROPOSAL:
Tests
5 button testing categories with test steps
Offline tests
QA Steps
Same as tests
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
step2.mov
steps1_4.mov