Problem
M1 added a size prop backed by CONST.ICON_SIZE and a resolveIconSize adapter for backward compatibility, but the deprecated extraSmall/small/medium/large boolean props remain on Icon. Reviewers flagged this as temporary — the adapter is "wonky" and should be ripped out once call sites migrate.
Solution
After M2 and M3 complete:
- Remove deprecated boolean size props from
Icon public API
- Remove
resolveIconSize adapter
- Ensure all call sites use
size={CONST.ICON_SIZE.*}
- Slim
Icon/index.tsx facade; BaseIcon becomes the canonical Icon per team agreement
Acceptance criteria
Origin
Dependencies
Blocked by:
Issue Owner
Current Issue Owner: @jmusial
Problem
M1 added a
sizeprop backed byCONST.ICON_SIZEand aresolveIconSizeadapter for backward compatibility, but the deprecatedextraSmall/small/medium/largeboolean props remain onIcon. Reviewers flagged this as temporary — the adapter is "wonky" and should be ripped out once call sites migrate.Solution
After M2 and M3 complete:
Iconpublic APIresolveIconSizeadaptersize={CONST.ICON_SIZE.*}Icon/index.tsxfacade;BaseIconbecomes the canonicalIconper team agreementAcceptance criteria
extraSmall/small/medium/largeprops onIconresolveIconSizedeletedOrigin
Dependencies
Blocked by:
Issue Owner
Current Issue Owner: @jmusial