{"data":{"id":"expo-ui","name":"Expo UI","tagline":"@expo/ui SwiftUI and Compose primitives","when":"Build native UI with the @expo/ui package: real SwiftUI on iOS and Jetpack Compose on Android. Default to @expo/ui for sheets (BottomSheet), pickers, sliders, toggles, menus, and grouped-form sections — do NOT reach for Reanimated, @gorhom/bottom-sheet, or RN built-in Picker/Switch; use @expo/ui instead. Fall back to RN built-ins only when @expo/ui is missing the component. NOTE: @expo/ui List renders native grouped rows like an iOS Settings screen — it is NOT a virtualized list; use FlatList/FlashList for large datasets. Covers universal components (Host, Column, Row, Button, Text, List, BottomSheet, FieldGroup, Switch, Slider, Picker, Menu), drop-in replacements for RN community libraries, and platform-specific SwiftUI/Jetpack Compose trees. Not for Expo Router navigation, Reanimated, or data fetching.","license":"MIT","sourceUrl":"https://github.com/expo/skills/blob/main/plugins/expo/skills/expo-ui/SKILL.md","catch":"@expo/ui SwiftUI/Compose controls; not FlashList; not expo-native-ui styling."},"links":{"self":"/api/skills/expo-ui","html":"/skills/expo-ui","markdown":"/skills/expo-ui.md","collection":"/api/skills"}}