Skip to content

Button migration batch 10: leftover files after census re-scan + BaseWidgetItem public API #98878

Description

@MelvinBot

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 / dangervariant="success" / variant="danger"
  • small / medium / largesize={CONST.BUTTON_SIZE.SMALL | MEDIUM | LARGE}
  • Keep each wrapper's public API as-is; map to composed Button internally only

Acceptance criteria

  • Every migrated file has no remaining @components/Button import
  • BaseWidgetItem buttonProps public API and all 14 callers migrated
  • ButtonIcon accessibilityLabel preserves NumberWithSymbolForm icon labels
  • eslint-seatbelt count reduced accordingly
  • PR author spot-checks representative migrated screens (label, variant, size, icon side, disabled/loading, press, ref)

Dependencies

  • Blocked by batch 1: deprecation guard must exist before merge

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions