* fix: stabilize validation and tests on Windows * test: add Windows smoke coverage for skill activation * refactor: make setup_web script CommonJS * fix: repair aegisops-ai frontmatter * docs: add when-to-use guidance to core skills * docs: add when-to-use guidance to Apify skills * docs: add when-to-use guidance to Google and Expo skills * docs: add when-to-use guidance to Makepad skills * docs: add when-to-use guidance to git workflow skills * docs: add when-to-use guidance to fp-ts skills * docs: add when-to-use guidance to Three.js skills * docs: add when-to-use guidance to n8n skills * docs: add when-to-use guidance to health analysis skills * docs: add when-to-use guidance to writing and review skills * meta: sync generated catalog metadata * docs: add when-to-use guidance to Robius skills * docs: add when-to-use guidance to review and workflow skills * docs: add when-to-use guidance to science and data skills * docs: add when-to-use guidance to tooling and automation skills * docs: add when-to-use guidance to remaining skills * fix: gate bundle helper execution in Windows activation * chore: drop generated artifacts from contributor PR * docs(maintenance): Record PR 457 sweep Document the open issue triage, PR supersedence decision, local verification, and source-only cleanup that prepared PR #457 for re-running CI. --------- Co-authored-by: sickn33 <sickn33@users.noreply.github.com>
53 lines
2.0 KiB
Markdown
53 lines
2.0 KiB
Markdown
---
|
|
name: expo-ui-swift-ui
|
|
description: expo-ui-swift-ui
|
|
risk: unknown
|
|
source: community
|
|
---
|
|
|
|
---
|
|
name: expo-ui-swift-ui
|
|
description: `@expo/ui/swift-ui` package lets you use SwiftUI Views and modifiers in your app.
|
|
---
|
|
|
|
> The instructions in this skill apply to SDK 55 only. For other SDK versions, refer to the Expo UI SwiftUI docs for that version for the most accurate information.
|
|
|
|
## When to Use
|
|
|
|
- You need to build iOS-native UI in Expo using `@expo/ui/swift-ui`.
|
|
- The task involves selecting SwiftUI views or modifiers, wrapping trees in `Host`, or embedding React Native components with `RNHostView`.
|
|
- You are targeting Expo SDK 55 behavior for SwiftUI integration and extension guidance.
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
npx expo install @expo/ui
|
|
```
|
|
|
|
A native rebuild is required after installation (`npx expo run:ios`).
|
|
|
|
## Instructions
|
|
|
|
- Expo UI's API mirrors SwiftUI's API. Use SwiftUI knowledge to decide which components or modifiers to use.
|
|
- Components are imported from `@expo/ui/swift-ui`, modifiers from `@expo/ui/swift-ui/modifiers`.
|
|
- When about to use a component, fetch its docs to confirm the API - https://docs.expo.dev/versions/v55.0.0/sdk/ui/swift-ui/{component-name}/index.md
|
|
- When unsure about a modifier's API, refer to the docs - https://docs.expo.dev/versions/v55.0.0/sdk/ui/swift-ui/modifiers/index.md
|
|
- Every SwiftUI tree must be wrapped in `Host`.
|
|
- `RNHostView` is specifically for embedding RN components inside a SwiftUI tree. Example:
|
|
|
|
```jsx
|
|
import { Host, VStack, RNHostView } from "@expo-ui/swift-ui";
|
|
import { Pressable } from "react-native";
|
|
|
|
<Host matchContents>
|
|
<VStack>
|
|
<RNHostView matchContents>
|
|
// Here, `Pressable` is an RN component so it is wrapped in `RNHostView`.
|
|
<Pressable />
|
|
</RNHostView>
|
|
</VStack>
|
|
</Host>;
|
|
```
|
|
|
|
- If a required modifier or View is missing in Expo UI, it can be extended via a local Expo module. See: https://docs.expo.dev/guides/expo-ui-swift-ui/extending/index.md. Confirm with the user before extending.
|