/** * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * @flow strict-local * @format */ import * as React from 'react'; import { Button, Pressable, SectionList, StyleSheet, Text, View, } from 'react-native'; const DATA = [ { title: 'Main dishes', data: ['Pizza', 'Burger', 'Risotto'], }, { title: 'Sides', data: ['French Fries', 'Onion Rings', 'Fried Shrimps'], }, { title: 'Drinks', data: ['Water', 'Coke', 'Beer'], }, { title: 'Desserts', data: ['Cheesecake', 'Brownie'], }, ]; /* $FlowFixMe[missing-local-annot] The type annotation(s) required by Flow's * LTI update could not be added via codemod */ const Item = ({item, section, separators}) => { return ( { separators.highlight(); }} onPress={() => { separators.updateProps('trailing', {hasBeenHighlighted: true}); separators.updateProps('leading', {hasBeenHighlighted: true}); }} onPressOut={() => { separators.unhighlight(); }} style={({pressed}) => [ styles.item, { backgroundColor: pressed ? 'red' : 'pink', }, ]} testID={item}> {item} ); }; type Props = $ReadOnly<{ // $FlowFixMe[unclear-type] exampleProps: Partial>>, onTest?: ?() => void, testLabel?: ?string, testOutput?: ?string, children?: ?React.Node, }>; const SectionListBaseExample: component( // $FlowFixMe[unclear-type] ref: React.RefSetter>, ...props: Props ) = ({ ref, ...props }: { // $FlowFixMe[unclear-type] ref: React.RefSetter>, ...Props, }): React.Node => { return ( {props.testOutput != null ? ( {props.testOutput} {props.onTest != null ? (