react-native-onboarding-flow
Version:
Beautiful, customizable onboarding flows for React Native with smooth animations
54 lines (53 loc) • 1.39 kB
TypeScript
export interface OnboardingTheme {
backgroundColor?: string;
titleColor?: string;
descriptionColor?: string;
buttonBackgroundColor?: string;
buttonTextColor?: string;
progressDotColor?: string;
progressDotActiveColor?: string;
closeButtonColor?: string;
}
export interface OnboardingSlideData {
id: string;
media: {
type: 'image' | 'video';
source: any;
autoPlay?: boolean;
loop?: boolean;
muted?: boolean;
width?: number;
height?: number;
borderRadius?: number;
};
title: string;
description: string;
animation?: 'fadeIn' | 'slideUp' | 'scaleIn';
}
export interface OnboardingFlowProps {
slides: OnboardingSlideData[];
visible: boolean;
onComplete: () => void;
closeable?: boolean;
showProgress?: boolean;
theme?: OnboardingTheme;
showPaywall?: boolean;
paywallComponent?: React.ReactNode;
}
export interface OnboardingModalProps {
visible: boolean;
slides: OnboardingSlideData[];
currentSlide: number;
onNext: () => void;
onClose?: () => void;
closeable: boolean;
showProgress: boolean;
theme?: OnboardingTheme;
showPaywall?: boolean;
paywallComponent?: React.ReactNode;
}
export interface OnboardingSlideProps {
slide: OnboardingSlideData;
isActive: boolean;
theme?: OnboardingTheme;
}