Sub-issue of #83762.
Tracks PR #98861.
Batch
- Shape: leftover files (extra, 10th batch)
- Area: all
- Scope: 44 leftover files that appeared after the original 282-file census, plus
BaseWidgetItem's buttonProps public API and its 14 callers.
- Note: Adds
accessibilityLabel support to ButtonIcon to preserve NumberWithSymbolForm's icon labels.
Files
Full list in the PR diff (#98861). Highlights:
src/components/ButtonComposed/primitives/ButtonIcon.tsx — add accessibilityLabel support
src/components/BaseWidgetItem.tsx — migrate buttonProps public API (+ its 14 callers)
- 44 leftover
@components/Button consumers across src/components/** and src/pages/** (ForYouSection, TimeSensitiveSection/items/*, workspace/settings/signin pages, various modals and footers)
Migration rules
Mechanical swap per prop-change rules:
- Import:
@components/Button → @components/ButtonComposed
text / icon / related props → <Button.Text> / <Button.Icon> children
success / danger → variant="success" / variant="danger"
small / medium / large → size={CONST.BUTTON_SIZE.SMALL | MEDIUM | LARGE}
- Keep each wrapper's public API as-is; map to composed Button internally only
Acceptance criteria
Dependencies
- Blocked by batch 1: deprecation guard must exist before merge
Sub-issue of #83762.
Tracks PR #98861.
Batch
BaseWidgetItem'sbuttonPropspublic API and its 14 callers.accessibilityLabelsupport toButtonIconto preserveNumberWithSymbolForm's icon labels.Files
Full list in the PR diff (#98861). Highlights:
src/components/ButtonComposed/primitives/ButtonIcon.tsx— addaccessibilityLabelsupportsrc/components/BaseWidgetItem.tsx— migratebuttonPropspublic API (+ its 14 callers)@components/Buttonconsumers acrosssrc/components/**andsrc/pages/**(ForYouSection,TimeSensitiveSection/items/*, workspace/settings/signin pages, various modals and footers)Migration rules
Mechanical swap per prop-change rules:
@components/Button→@components/ButtonComposedtext/icon/ related props →<Button.Text>/<Button.Icon>childrensuccess/danger→variant="success"/variant="danger"small/medium/large→size={CONST.BUTTON_SIZE.SMALL | MEDIUM | LARGE}Acceptance criteria
@components/ButtonimportBaseWidgetItembuttonPropspublic API and all 14 callers migratedButtonIconaccessibilityLabelpreservesNumberWithSymbolFormicon labelsDependencies