Conversation
# Why The web `FieldGroup` and `FieldSection` used hardcoded hex colors and their own dark mode handling, which didn't match the rest of the universal UI. # How Swapped the hardcoded colors for the shared `colors` from `webUtils` so theming is consistent and the manual `useColorScheme` dark variants can go away. Also tidied up the spacing and gave cards a border with a proper separator role on the dividers. # Test Plan Rendered a `FieldGroup` with a few `FieldSection`s on web and checked it looks right in both light and dark mode. # Checklist - [x] I added a `changelog.md` entry and rebuilt the package sources according to [this short guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting) - [ ] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin). - [ ] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md) # Screenshots <img width="414" height="896" src="https://github.com/user-attachments/assets/2f4a05b2-72ec-434e-a6f5-55a4455dbe17" /> <img width="414" height="896" src="https://github.com/user-attachments/assets/3fef9404-071f-4942-abae-bceea89bc2c5" />
# Why For some reason merge broke the changelog without a conflicts. This PR adds a change to UNPUBLISHED section: https://github.com/expo/expo/pull/46286/changes#diff-e92c934d636c85205cc69bbabdb3291767d3ab5fda9c6ec9199f8f02057a0298R11 But merge commit adds it to PUBLISHED version: f7c7b69#diff-e92c934d636c85205cc69bbabdb3291767d3ab5fda9c6ec9199f8f02057a0298R19 # How Fixes the changelog after merge that caused sections to become incorrectly ordered.
In #46007, we gave the `@expo/ui/swift-ui` `font` modifier `textStyle` Dynamic Type scaling. This PR bounds how far the text grows. Currently, it scales to `accessibility5` with no ceiling, so tight native layouts overflow at the largest accessibility sizes. Adds a `dynamicTypeSize` modifier. Pass a single size to pin it, or `{ min, max }` to bound the range (either end optional). For example, we can now cap growth at an accessibility size for layout safety while still honoring Dynamic Type, the SwiftUI-native path for [Apple's Larger Text Accessibility Nutrition Label](https://developer.apple.com/help/app-store-connect/manage-app-accessibility/larger-text-evaluation-criteria). ```tsx import { Host, Text } from '@expo/ui/swift-ui'; import { font, dynamicTypeSize } from '@expo/ui/swift-ui/modifiers'; <Host matchContents> <Text modifiers={[font({ textStyle: 'body' }), dynamicTypeSize({ max: 'accessibility3' })]}> Scales with Dynamic Type, capped at accessibility3 </Text> </Host> ``` Accepts the 12 `DynamicTypeSize` cases, `xSmall` through `accessibility5`. No JS bridge, type, or API surface beyond the new modifier. # Test Plan Smoke-tested on iPhone 17 Pro simulator (iOS 26.5, Xcode 26.5) via `apps/native-component-list`: - `pnpm build`, `pnpm lint --max-warnings 0`, and `pnpm test` (13 suites, 66 tests) all green in `packages/expo-ui`. - `et generate-docs-api-data -p expo-ui` regenerated the unversioned `expo-ui/swift-ui/modifiers.json` to add the `dynamicTypeSize` and `DynamicTypeSizeValue` entries. Output matches what's committed, nothing else changed. - Modifiers screen renders a `dynamicTypeSize clamp` block with three `body` lines: unbounded, `{ max: 'large' }`, and `'xSmall'`. Setting iOS Larger Text to AX5 via `xcrun simctl ui booted content_size accessibility-extra-extra-extra-large` grows the unbounded line while the capped line holds at `large` and the fixed line stays at `xSmall`. Adjacent fixed-size demos hold. Lowering the system size shrinks them back live, no app restart. # Checklist - [x] I added a `changelog.md` entry and rebuilt the package sources according to [this short guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting) - [x] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin). - Not applicable: no module plugin touched. - [x] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
…in `fitToContents` mode (#46546) # Why Fixes - #46496 In `fitToContents` mode the `BottomSheet` animated open from the bottom-left corner instead of sliding up from the bottom. <!-- Please describe the motivation for this PR, and link to relevant GitHub issues, forums posts, or feature requests. --> # How - The content height is measured asynchronously via a size preference key, so on first present childrenSize is still .zero, producing a `.presentationDetents([.height(0)])`, a zero-size sheet that SwiftUI animates in from its origin (the bottom-left corner). - Fall back to `[.medium]` until a real height is measured (childrenSize.height > 0), then switch to `.height(childrenSize.height)` once the content lays out, so the open animation starts from a valid full-width detent and resizes to fit. <!-- How did you build this feature or fix this bug and why? --> # Test Plan Tested in the shared repro in the issue. <!-- Please describe how you tested this change and how a reviewer could reproduce your test, especially if this PR does not include automated tests! If possible, please also provide terminal output and/or screenshots demonstrating your test/reproduction. --> # Checklist <!-- Please check the appropriate items below if they apply to your diff. --> - [ ] I added a `changelog.md` entry and rebuilt the package sources according to [this short guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting) - [ ] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin). - [ ] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
# Why The `react` and `react-dom` version overrides in the workspace don't seem to be necessary anymore. Keeping it makes it harder to change the React version in a single app (for example, to test a new release candidate or an old macOS version) # How Removed the `react` and `react-dom` entries from `resolutions` in the root `package.json` and regenerated `pnpm-lock.yaml`. # Test Plan - `pnpm install` at the repo root completes cleanly. - Ran bare-expo / NCL
…6551) ## Why Running `npx create-expo-app --example` without a value shows an interactive list of examples to choose from. This wasn't documented in our docs, but could be useful. ## How Added a bullet to the `--example` section on the create-expo page. <img width="1122" height="270" alt="image" src="https://github.com/user-attachments/assets/3cb8f5f1-6835-4e88-83dd-5edd988f6695" /> ## Test Plan Spin up locally or preview and visit `/more/create-expo/#--example`. - [ ] I added a `changelog.md` entry and rebuilt the package sources according to [this short guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting) - [ ] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin). - [x] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )