refactor(native): align iOS theme object shape with Android - #878
Open
adrienzheng-cb wants to merge 1 commit into
Open
refactor(native): align iOS theme object shape with Android#878adrienzheng-cb wants to merge 1 commit into
adrienzheng-cb wants to merge 1 commit into
Conversation
iOS used Swift-er names (spacing, radius, light/dark) while Android matched the JS theme keys. Rename iOS accessors and rungs to the shared native shape, and add the missing Android illustration/shadow token enums. Co-authored-by: Cursor <cursoragent@cursor.com>
Collaborator
✅ Heimdall Review Status
✅
|
| Code Owner | Status | Calculation | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| ui-systems-eng-team |
✅
1/1
|
Denominator calculation
|
cb-ekuersch
approved these changes
Sep 10, 2026
6 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed? Why?
Native iOS and Android theme objects carried the same tokens under different names, which would make a shared token contract and any future codegen harder. iOS now uses the Android/JS key names; Android gains the illustration and shadow token enums iOS already had.
iOS (breaking, still 0.0.x):
spacing→space,radius→borderRadius,shadow→shadowslight/dark→lightColors/darkColorsr400→radius400,w100→borderWidth100radius/x/y→blurRadius/offsetX/offsetYAndroid:
CdsIllustrationColorTokenandCdsShadowTokenso every axis is enumerable on both platformsLeft as platform-shaped on purpose: iOS
offsetXandcurrentColor(no Compose analog), and typography still a dictionary on iOS vs namedTextStyles on Android.UI changes
No visual change. Token values are unchanged; only accessor names moved.
Testing
How has it been tested?
Testing instructions
yarn nx run cds-ios:testyarn nx run cds-android:testChange management
type=routine
risk=low
impact=sev5
automerge=false
Made with Cursor