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