Projects included: - maerchenzauber (NestJS backend + Expo mobile + SvelteKit web + Astro landing) - manacore (Expo mobile + SvelteKit web + Astro landing) - manadeck (NestJS backend + Expo mobile + SvelteKit web) - memoro (Expo mobile + SvelteKit web + Astro landing) This commit preserves the current state before monorepo restructuring. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
4.3 KiB
Expo UI
A set of components that allow you to build UIs directly with SwiftUI and Jetpack Compose from React.
Bundled version: ~0.2.0-beta.4
Copy
This library is currently in alpha and will frequently experience breaking changes. It is not available in the Expo Go app – use development builds to try it out. @expo/ui is a set of native input components that allows you to build fully native interfaces with SwiftUI and Jetpack Compose. It aims to provide the commonly used features and components that a typical app will need.
Expo UI guide for Swift UI Learn about the basics of @expo/ui/swift-ui
Installation Terminal
Copy
npx expo install @expo/ui If you are installing this in an existing React Native app, make sure to install expo in your project.
Swift UI examples BottomSheet
iOS
Code
BottomSheet component on iOS. Button The borderless variant is not available on Apple TV.
iOS
Code
Button component on iOS. CircularProgress
iOS
Code
CircularProgress component on iOS. ColorPicker This component is not available on Apple TV.
iOS
Code
ColorPicker component on iOS. ContextMenu Note: Also known as DropdownMenu.
iOS
Code
ContextMenu component on iOS. DateTimePicker (date) This component is not available on Apple TV.
iOS
Code
DateTimePicker (date) component on iOS. DateTimePicker (time) This component is not available on Apple TV.
iOS
Code
DateTimePicker (time) component on iOS. Gauge This component is not available on Apple TV.
iOS
Code
Gauge component on iOS. Host A component that allows you to put the other @expo/ui/swift-ui components in React Native. It acts like
Since the Host component is a React Native View, you can pass the style prop to it or matchContents prop to make the Host component match the contents' size.
Wrapping Button in Host
Copy
import { Button, Host } from '@expo/ui/swift-ui';
function Example() { return ( <Button onPress={() => { console.log('Pressed'); }}> Click ); } Host with flexbox and VStack
Copy
import { Button, Host, VStack, Text } from '@expo/ui/swift-ui';
function Example() { return ( <Host style={{ flex: 1 }}> Hello, world! <Button onPress={() => { console.log('Pressed'); }}> Click ); } LinearProgress
iOS
Code
LinearProgress component on iOS. List
iOS
Code
List component on iOS. Picker (segmented)
iOS
Code
Picker component on iOS. Picker (wheel) The wheel variant is not available on Apple TV.
iOS
Code
Picker component on iOS. Slider This component is not available on Apple TV.
iOS
Code
Slider component on iOS. Switch (toggle) Note: Also known as Toggle.
iOS
Code
Switch component on iOS. Switch (checkbox)
iOS
Code
Picker component on iOS. TextField
iOS
Code
TextField component on iOS. More Expo UI is still in active development. We continue to add more functionality and may change the API. Some examples in the docs may not be up to date. If you want to see the latest changes, check the examples.
Jetpack Compose examples Button
Android
Code
Button component on Android. CircularProgress
Android
Code
CircularProgress component on Android. ContextMenu Note: Also known as DropdownMenu.
Android
Code
ContextMenu component on Android. Chip
Android
Code
Chip component on Android. DateTimePicker (date)
Android
Code
DateTimePicker component on Android. DateTimePicker (time)
Android
Code
DateTimePicker (time) component on Android. LinearProgress
Android
Code
LinearProgress component on Android. Picker (radio)
Android
Code
Picker component (radio) on Android. Picker (segmented)
Android
Code
Picker component on Android. Slider
Android
Code
Slider component on Android. Switch (toggle) Note: also known as Toggle.
Android
Code
Switch component on Android. Switch (checkbox)
Android
Code
Switch (checkbox variant) component on Android. TextInput
Android
Code
TextInput component on Android. API Full documentation is not yet available. Use TypeScript types to explore the API.
// Import from the SwiftUI package import { BottomSheet } from '@expo/ui/swift-ui'; // Import from the Jetpack Compose package import { Button } from '@expo/ui/jetpack-compose';