react-native-screens
Version:
Native navigation primitives for your React Native app.
33 lines (22 loc) • 948 B
text/typescript
'use client';
import type { CodegenTypes as CT, ViewProps } from 'react-native';
import { codegenNativeComponent } from 'react-native';
// eslint-disable-next-line @typescript-eslint/ban-types
type GenericEmptyEvent = Readonly<{}>;
type OnDismissEventPayload = Readonly<{
isNativeDismiss: boolean;
}>;
type ActivityMode = 'detached' | 'attached';
export interface NativeProps extends ViewProps {
// Control
// Codegen does not currently support non-optional enum.
activityMode?: CT.WithDefault<ActivityMode, 'detached'>;
screenKey: string;
// Events
onWillAppear?: CT.DirectEventHandler<GenericEmptyEvent>;
onDidAppear?: CT.DirectEventHandler<GenericEmptyEvent>;
onWillDisappear?: CT.DirectEventHandler<GenericEmptyEvent>;
onDidDisappear?: CT.DirectEventHandler<GenericEmptyEvent>;
onDismiss?: CT.DirectEventHandler<OnDismissEventPayload>;
}
export default codegenNativeComponent<NativeProps>('RNSStackScreen', {});