1import * as React from 'react'; 2 3import ExpoAPIIcon from '../components/ExpoAPIIcon'; 4import ComponentListScreen from './ComponentListScreen'; 5 6const screens = [ 7 'ActivityIndicator', 8 'BarCodeScanner', 9 'BlurView', 10 'Button', 11 'Camera', 12 'Checkbox', 13 'DateTimePicker', 14 'DrawerLayoutAndroid', 15 'FlashList', 16 'GL', 17 'GestureHandlerList', 18 'GestureHandlerPinch', 19 'GestureHandlerSwipeable', 20 'Gif', 21 'HTML', 22 'Image', 23 'LinearGradient', 24 'Lottie', 25 'Maps', 26 'MaskedView', 27 'Modal', 28 'Picker', 29 'Pressable', 30 'ProgressBarAndroid', 31 'ProgressViewIOS', 32 'QRCode', 33 'Reanimated', 34 'Skia', 35 'SVG', 36 'Screens', 37 'ScrollView', 38 'SegmentedControl', 39 'SharedElement', 40 'Slider', 41 'Switch', 42 'Text', 43 'TextInput', 44 'TouchableBounce', 45 'Touchables', 46 'Video', 47 'PagerView', 48 'WebView', 49]; 50 51export const ScreenItems = screens.map((name) => ({ 52 name, 53 route: `/components/${name.toLowerCase()}`, 54 // isAvailable: !!Screens[name], 55 isAvailable: true, 56})); 57 58export default function ExpoComponentsScreen() { 59 const renderItemRight = React.useCallback( 60 ({ name }: { name: string }) => ( 61 <ExpoAPIIcon name={name} style={{ marginRight: 10, marginLeft: 6 }} /> 62 ), 63 [] 64 ); 65 66 return <ComponentListScreen renderItemRight={renderItemRight} apis={ScreenItems} />; 67} 68