Skip to content

fix(fabric): Switch default Text color to labelColor#2878

Merged
Saadnajmi merged 2 commits intomicrosoft:mainfrom
Saadnajmi:dark-mode-2
Mar 31, 2026
Merged

fix(fabric): Switch default Text color to labelColor#2878
Saadnajmi merged 2 commits intomicrosoft:mainfrom
Saadnajmi:dark-mode-2

Conversation

@Saadnajmi
Copy link
Copy Markdown
Collaborator

Summary:

We've had this diff for both iOS and macOS in Paper, let's bring it to Fabric. Slightly more complicated because the shared C++ actually sets the default to black, which isn't good for Dark mode.

Test Plan:

Screenshot 2026-03-29 at 10 25 39 PM

@Saadnajmi Saadnajmi requested a review from a team as a code owner March 30, 2026 03:39
@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Mar 30, 2026

⚠️ No Changeset found

Latest commit: 241ebeb

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@Saadnajmi
Copy link
Copy Markdown
Collaborator Author

/backport 0.81-stable

@microsoft-react-native-sdk
Copy link
Copy Markdown

Backport results

  • 0.81-stable: cherry-pick conflicts (manual backport needed)

@Saadnajmi Saadnajmi merged commit c251c59 into microsoft:main Mar 31, 2026
17 of 18 checks passed
@Saadnajmi Saadnajmi deleted the dark-mode-2 branch March 31, 2026 18:26
Saadnajmi added a commit to Saadnajmi/react-native-macos that referenced this pull request Apr 2, 2026
Saadnajmi added a commit that referenced this pull request Apr 3, 2026
## Summary

Backport of 3 fixes from `main` to `0.81-stable`:

- **fix(fabric):** Switch default Text color to `labelColor` (#2878)
- **fix(fabric):** fix Text overflow in ScrollView on first render
(#2880)
- **fix(fabric):** Add back compat layer for `validKeysDown` and
`validKeysUp` (#2879)

Each fix is a separate commit for easy rebasing when upstream PRs are
updated.

### Conflict resolutions
- **PR #2878:** 0.81-stable uses `RCTUIColor` (renamed from
`RCTPlatformColor` on main). Resolved by keeping `RCTUIColor` while
applying the `blackColor` → `labelColor` change.
- **PRs #2880 and #2879** cherry-picked cleanly. #2879 (open PR) was
squash-cherry-picked into a single commit.

## Test plan
- [ ] Verify default text color respects dark/light mode
- [ ] Verify Text in ScrollView renders correctly on first load
- [ ] Verify legacy `validKeysDown`/`validKeysUp` props still work in
Fabric

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants