diff --git a/packages/react-native-gesture-handler/src/index.ts b/packages/react-native-gesture-handler/src/index.ts index 5b36ac4e0b..ad32ac2dc6 100644 --- a/packages/react-native-gesture-handler/src/index.ts +++ b/packages/react-native-gesture-handler/src/index.ts @@ -152,20 +152,8 @@ export type { } from './components/Pressable'; export { default as Pressable } from './components/Pressable'; -export { - GestureDetector, - InterceptingGestureDetector, - GestureDetectorProps, - VirtualGestureDetector, -} from './v3/detectors'; - -export * from './v3/hooks/composition'; - -export type { ComposedGesture } from './v3/types'; export type { GestureTouchEvent as SingleGestureTouchEvent } from './handlers/gestureHandlerCommon'; -export * from './v3/hooks/gestures'; - -export * from './v3/components'; +export * from './v3'; initialize(); diff --git a/packages/react-native-gesture-handler/src/v3/hooks/index.ts b/packages/react-native-gesture-handler/src/v3/hooks/index.ts new file mode 100644 index 0000000000..ab0cb84da7 --- /dev/null +++ b/packages/react-native-gesture-handler/src/v3/hooks/index.ts @@ -0,0 +1,2 @@ +export * from './composition'; +export * from './gestures'; diff --git a/packages/react-native-gesture-handler/src/v3/hooks/utils/configUtils.ts b/packages/react-native-gesture-handler/src/v3/hooks/utils/configUtils.ts index 8ddf111c23..f85c351a5d 100644 --- a/packages/react-native-gesture-handler/src/v3/hooks/utils/configUtils.ts +++ b/packages/react-native-gesture-handler/src/v3/hooks/utils/configUtils.ts @@ -93,13 +93,13 @@ export function prepareConfigForNativeSide( return filteredConfig; } -export function cloneConfig( +function cloneConfig( config: ExcludeInternalConfigProps> ): BaseGestureConfig { return { ...config } as BaseGestureConfig; } -export function remapProps< +function remapProps< TConfig extends object, TInternalConfig extends Record, >( diff --git a/packages/react-native-gesture-handler/src/v3/hooks/utils/eventHandlersUtils.ts b/packages/react-native-gesture-handler/src/v3/hooks/utils/eventHandlersUtils.ts index 2d3fab7cf5..2dce1babef 100644 --- a/packages/react-native-gesture-handler/src/v3/hooks/utils/eventHandlersUtils.ts +++ b/packages/react-native-gesture-handler/src/v3/hooks/utils/eventHandlersUtils.ts @@ -40,7 +40,7 @@ export function useMemoizedGestureCallbacks( ); } -export function getHandler( +function getHandler( type: CALLBACK_TYPE, callbacks: GestureCallbacks ) { diff --git a/packages/react-native-gesture-handler/src/v3/hooks/utils/eventUtils.ts b/packages/react-native-gesture-handler/src/v3/hooks/utils/eventUtils.ts index 98113996df..1fce83c609 100644 --- a/packages/react-native-gesture-handler/src/v3/hooks/utils/eventUtils.ts +++ b/packages/react-native-gesture-handler/src/v3/hooks/utils/eventUtils.ts @@ -12,7 +12,7 @@ import { import { GestureTouchEvent } from '../../../handlers/gestureHandlerCommon'; import { tagMessage } from '../../../utils'; -export function isNativeEvent( +function isNativeEvent( event: GestureHandlerEventWithHandlerData ): event is | NativeSyntheticEvent> diff --git a/packages/react-native-gesture-handler/src/v3/hooks/utils/index.ts b/packages/react-native-gesture-handler/src/v3/hooks/utils/index.ts index 6210dbec1f..cde49f2a1f 100644 --- a/packages/react-native-gesture-handler/src/v3/hooks/utils/index.ts +++ b/packages/react-native-gesture-handler/src/v3/hooks/utils/index.ts @@ -1,6 +1,43 @@ -export * from './configUtils'; -export * from './eventHandlersUtils'; -export * from './eventUtils'; -export * from './reanimatedUtils'; -export * from './relationUtils'; -export * from './propsWhiteList'; +export { + prepareConfig, + prepareConfigForNativeSide, + useClonedAndRemappedConfig, +} from './configUtils'; + +export { + useMemoizedGestureCallbacks, + touchEventTypeToCallbackType, + runCallback, +} from './eventHandlersUtils'; + +export { + maybeExtractNativeEvent, + flattenAndFilterEvent, + isEventForHandlerWithTag, + isNativeAnimatedEvent, + checkMappingForChangeProperties, + shouldHandleTouchEvents, + getChangeEventCalculator, +} from './eventUtils'; + +export { + bindSharedValues, + unbindSharedValues, + hasWorkletEventHandlers, + maybeUnpackValue, +} from './reanimatedUtils'; + +export { + isComposedGesture, + prepareRelations, + containsDuplicates, +} from './relationUtils'; + +export { + allowedNativeProps, + NativeWrapperProps, + HandlerCallbacks, + PropsToFilter, + PropsWhiteLists, + EMPTY_WHITE_LIST, +} from './propsWhiteList'; diff --git a/packages/react-native-gesture-handler/src/v3/index.ts b/packages/react-native-gesture-handler/src/v3/index.ts new file mode 100644 index 0000000000..cd74b8a293 --- /dev/null +++ b/packages/react-native-gesture-handler/src/v3/index.ts @@ -0,0 +1,74 @@ +export type { GestureDetectorProps } from './detectors'; +export { + GestureDetector, + VirtualGestureDetector, + InterceptingGestureDetector, + DetectorType, +} from './detectors'; + +export type { + TapGesture, + TapGestureConfig, + TapGestureEvent, + FlingGesture, + FlingGestureConfig, + FlingGestureEvent, + LongPressGesture, + LongPressGestureConfig, + LongPressGestureEvent, + PinchGesture, + PinchGestureConfig, + PinchGestureEvent, + RotationGesture, + RotationGestureConfig, + RotationGestureEvent, + HoverGesture, + HoverGestureConfig, + HoverGestureEvent, + ManualGesture, + ManualGestureConfig, + ManualGestureEvent, + NativeGesture, + NativeViewGestureConfig, + NativeGestureEvent, + PanGesture, + PanGestureConfig, + PanGestureEvent, + SingleGesture, + SingleGestureEvent, +} from './hooks'; +export { + useSimultaneousGestures, + useExclusiveGestures, + useCompetingGestures, + useTapGesture, + useFlingGesture, + useLongPressGesture, + usePinchGesture, + useRotationGesture, + useHoverGesture, + useManualGesture, + useNativeGesture, + usePanGesture, +} from './hooks'; + +export type { + RawButtonProps, + BaseButtonProps, + RectButtonProps, + BorderlessButtonProps, +} from './components'; +export { + RawButton, + BaseButton, + RectButton, + BorderlessButton, + PureNativeButton, + ScrollView, + Switch, + TextInput, + FlatList, + RefreshControl, +} from './components'; + +export type { ComposedGesture } from './types'; diff --git a/packages/react-native-gesture-handler/src/v3/types/EventTypes.ts b/packages/react-native-gesture-handler/src/v3/types/EventTypes.ts index 41a8408e95..3ef451c345 100644 --- a/packages/react-native-gesture-handler/src/v3/types/EventTypes.ts +++ b/packages/react-native-gesture-handler/src/v3/types/EventTypes.ts @@ -11,7 +11,7 @@ type StateChangeEventPayload = EventPayload & { oldState: State; }; -export type BaseHandlerData = { +type BaseHandlerData = { numberOfPointers: number; pointerType: PointerType; }; diff --git a/packages/react-native-gesture-handler/src/v3/types/index.ts b/packages/react-native-gesture-handler/src/v3/types/index.ts index 6fd85f24c9..d9550c1645 100644 --- a/packages/react-native-gesture-handler/src/v3/types/index.ts +++ b/packages/react-native-gesture-handler/src/v3/types/index.ts @@ -1,6 +1,49 @@ -export * from './ReanimatedTypes'; -export * from './ConfigTypes'; -export * from './EventTypes'; -export * from './DetectorTypes'; -export * from './GestureTypes'; -export * from './UtilityTypes'; +export type { + SharedValue, + SharedValueOrT, + WithSharedValue, +} from './ReanimatedTypes'; + +export type { + HandlerData, + GestureUpdateEventWithHandlerData, + GestureStateChangeEventWithHandlerData, + GestureHandlerEventWithHandlerData, + UnpackedGestureHandlerEventWithHandlerData, + UnpackedGestureHandlerEvent, + UpdateEventWithHandlerData, + StateChangeEventWithHandlerData, + TouchEvent, + GestureEvent, + AnimatedEvent, + ChangeCalculatorType, + DiffCalculatorType, +} from './EventTypes'; + +export type { + GestureCallbacks, + GestureRelations, + InternalConfigProps, + CommonGestureConfig, + ComposedGestureConfig, +} from './ConfigTypes'; + +export type { DetectorCallbacks, VirtualChild } from './DetectorTypes'; + +export { SingleGestureName, ComposedGestureName } from './GestureTypes'; +export type { + ExternalRelations, + BaseDiscreteGestureConfig, + BaseGestureConfig, + SingleGesture, + DiscreteSingleGesture, + ComposedGesture, + Gesture, + AnyGesture, +} from './GestureTypes'; + +export type { + HandlersPropsWhiteList, + FilterNeverProperties, + ExcludeInternalConfigProps, +} from './UtilityTypes';