@umituz/react-native-design-system 2.6.128 → 2.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +4 -2
- package/src/exports/onboarding.ts +6 -0
- package/src/index.ts +5 -0
- package/src/molecules/navigation/utils/AppNavigation.ts +53 -28
- package/src/molecules/splash/hooks/useSplashFlow.ts +33 -7
- package/src/onboarding/domain/entities/OnboardingOptions.ts +104 -0
- package/src/onboarding/domain/entities/OnboardingQuestion.ts +165 -0
- package/src/onboarding/domain/entities/OnboardingSlide.ts +152 -0
- package/src/onboarding/domain/entities/OnboardingUserData.ts +43 -0
- package/src/onboarding/hooks/useOnboardingFlow.ts +50 -0
- package/src/onboarding/index.ts +108 -0
- package/src/onboarding/infrastructure/hooks/__tests__/useOnboardingAnswers.test.ts +163 -0
- package/src/onboarding/infrastructure/hooks/__tests__/useOnboardingNavigation.test.ts +121 -0
- package/src/onboarding/infrastructure/hooks/useOnboardingAnswers.ts +69 -0
- package/src/onboarding/infrastructure/hooks/useOnboardingNavigation.ts +75 -0
- package/src/onboarding/infrastructure/services/SlideManager.ts +53 -0
- package/src/onboarding/infrastructure/services/ValidationManager.ts +127 -0
- package/src/onboarding/infrastructure/storage/OnboardingStore.ts +99 -0
- package/src/onboarding/infrastructure/storage/OnboardingStoreActions.ts +50 -0
- package/src/onboarding/infrastructure/storage/OnboardingStoreSelectors.ts +25 -0
- package/src/onboarding/infrastructure/storage/OnboardingStoreState.ts +22 -0
- package/src/onboarding/infrastructure/storage/__tests__/OnboardingStore.test.ts +85 -0
- package/src/onboarding/infrastructure/storage/actions/answerActions.ts +47 -0
- package/src/onboarding/infrastructure/storage/actions/completeAction.ts +45 -0
- package/src/onboarding/infrastructure/storage/actions/index.ts +22 -0
- package/src/onboarding/infrastructure/storage/actions/initializeAction.ts +40 -0
- package/src/onboarding/infrastructure/storage/actions/resetAction.ts +37 -0
- package/src/onboarding/infrastructure/storage/actions/skipAction.ts +46 -0
- package/src/onboarding/infrastructure/storage/actions/storageHelpers.ts +60 -0
- package/src/onboarding/infrastructure/utils/arrayUtils.ts +28 -0
- package/src/onboarding/infrastructure/utils/backgroundUtils.ts +38 -0
- package/src/onboarding/infrastructure/utils/layouts/collageLayout.ts +81 -0
- package/src/onboarding/infrastructure/utils/layouts/gridLayouts.ts +78 -0
- package/src/onboarding/infrastructure/utils/layouts/honeycombLayout.ts +36 -0
- package/src/onboarding/infrastructure/utils/layouts/index.ts +12 -0
- package/src/onboarding/infrastructure/utils/layouts/layoutTypes.ts +37 -0
- package/src/onboarding/infrastructure/utils/layouts/masonryLayout.ts +37 -0
- package/src/onboarding/infrastructure/utils/layouts/scatteredLayout.ts +34 -0
- package/src/onboarding/infrastructure/utils/layouts/screenDimensions.ts +11 -0
- package/src/onboarding/infrastructure/utils/layouts/tilesLayout.ts +34 -0
- package/src/onboarding/presentation/components/BackgroundImageCollage.tsx +90 -0
- package/src/onboarding/presentation/components/BackgroundVideo.tsx +24 -0
- package/src/onboarding/presentation/components/BaseSlide.tsx +47 -0
- package/src/onboarding/presentation/components/OnboardingBackground.tsx +91 -0
- package/src/onboarding/presentation/components/OnboardingFooter.tsx +151 -0
- package/src/onboarding/presentation/components/OnboardingHeader.tsx +92 -0
- package/src/onboarding/presentation/components/OnboardingResetSetting.tsx +70 -0
- package/src/onboarding/presentation/components/OnboardingScreenContent.tsx +146 -0
- package/src/onboarding/presentation/components/OnboardingSlide.tsx +124 -0
- package/src/onboarding/presentation/components/QuestionRenderer.tsx +60 -0
- package/src/onboarding/presentation/components/QuestionSlide.tsx +67 -0
- package/src/onboarding/presentation/components/QuestionSlideHeader.tsx +75 -0
- package/src/onboarding/presentation/components/questions/MultipleChoiceQuestion.tsx +74 -0
- package/src/onboarding/presentation/components/questions/QuestionOptionItem.tsx +115 -0
- package/src/onboarding/presentation/components/questions/RatingQuestion.tsx +66 -0
- package/src/onboarding/presentation/components/questions/SingleChoiceQuestion.tsx +117 -0
- package/src/onboarding/presentation/components/questions/TextInputQuestion.tsx +71 -0
- package/src/onboarding/presentation/hooks/__tests__/useOnboardingContainerStyle.test.ts +96 -0
- package/src/onboarding/presentation/hooks/useOnboardingContainerStyle.ts +37 -0
- package/src/onboarding/presentation/hooks/useOnboardingGestures.ts +45 -0
- package/src/onboarding/presentation/hooks/useOnboardingScreenHandlers.ts +114 -0
- package/src/onboarding/presentation/hooks/useOnboardingScreenState.ts +146 -0
- package/src/onboarding/presentation/providers/OnboardingProvider.tsx +51 -0
- package/src/onboarding/presentation/screens/OnboardingScreen.tsx +189 -0
- package/src/onboarding/presentation/types/OnboardingProps.ts +46 -0
- package/src/onboarding/presentation/types/OnboardingTheme.ts +27 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Onboarding Screen Content Props
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import type { OnboardingSlide } from "../../domain/entities/OnboardingSlide";
|
|
6
|
+
|
|
7
|
+
export interface OnboardingScreenContentProps {
|
|
8
|
+
containerStyle?: any;
|
|
9
|
+
useCustomBackground: boolean;
|
|
10
|
+
currentSlide: OnboardingSlide | undefined;
|
|
11
|
+
isFirstSlide: boolean;
|
|
12
|
+
isLastSlide: boolean;
|
|
13
|
+
currentIndex: number;
|
|
14
|
+
totalSlides: number;
|
|
15
|
+
currentAnswer: any;
|
|
16
|
+
isAnswerValid: boolean;
|
|
17
|
+
showBackButton: boolean;
|
|
18
|
+
showSkipButton: boolean;
|
|
19
|
+
showProgressBar: boolean;
|
|
20
|
+
showDots: boolean;
|
|
21
|
+
showProgressText: boolean;
|
|
22
|
+
skipButtonText?: string;
|
|
23
|
+
nextButtonText?: string;
|
|
24
|
+
getStartedButtonText?: string;
|
|
25
|
+
onBack: () => void;
|
|
26
|
+
onSkip: () => void;
|
|
27
|
+
onNext: () => void;
|
|
28
|
+
onAnswerChange: (value: any) => void;
|
|
29
|
+
renderHeader?: (props: {
|
|
30
|
+
isFirstSlide: boolean;
|
|
31
|
+
onBack: () => void;
|
|
32
|
+
onSkip: () => void;
|
|
33
|
+
}) => React.ReactNode;
|
|
34
|
+
renderFooter?: (props: {
|
|
35
|
+
currentIndex: number;
|
|
36
|
+
totalSlides: number;
|
|
37
|
+
isLastSlide: boolean;
|
|
38
|
+
onNext: () => void;
|
|
39
|
+
onUpgrade?: () => void;
|
|
40
|
+
showPaywallOnComplete?: boolean;
|
|
41
|
+
}) => React.ReactNode;
|
|
42
|
+
renderSlide?: (slide: OnboardingSlide) => React.ReactNode;
|
|
43
|
+
onUpgrade?: () => void;
|
|
44
|
+
showPaywallOnComplete?: boolean;
|
|
45
|
+
variant?: "default" | "card" | "minimal" | "fullscreen";
|
|
46
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Onboarding Theme Types
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
export interface OnboardingColors {
|
|
6
|
+
iconColor: string;
|
|
7
|
+
textColor: string;
|
|
8
|
+
subTextColor: string;
|
|
9
|
+
buttonBg: string;
|
|
10
|
+
buttonTextColor: string;
|
|
11
|
+
progressBarBg: string;
|
|
12
|
+
progressFillColor: string;
|
|
13
|
+
dotColor: string;
|
|
14
|
+
activeDotColor: string;
|
|
15
|
+
progressTextColor: string;
|
|
16
|
+
headerButtonBg: string;
|
|
17
|
+
headerButtonBorder: string;
|
|
18
|
+
iconBg: string;
|
|
19
|
+
iconBorder: string;
|
|
20
|
+
errorColor: string;
|
|
21
|
+
featureItemBg: string;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface OnboardingTheme {
|
|
25
|
+
colors: OnboardingColors;
|
|
26
|
+
useCustomBackground: boolean;
|
|
27
|
+
}
|