@rocapine/react-native-onboarding-ui 1.0.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/dist/UI/Components/CircularProgress.d.ts +8 -0
- package/dist/UI/Components/CircularProgress.d.ts.map +1 -0
- package/dist/UI/Components/CircularProgress.js +104 -0
- package/dist/UI/Components/CircularProgress.js.map +1 -0
- package/dist/UI/Components/ProgressBar.d.ts +12 -0
- package/dist/UI/Components/ProgressBar.d.ts.map +1 -0
- package/dist/UI/Components/ProgressBar.js +121 -0
- package/dist/UI/Components/ProgressBar.js.map +1 -0
- package/dist/UI/Components/StaggeredTextList.d.ts +11 -0
- package/dist/UI/Components/StaggeredTextList.d.ts.map +1 -0
- package/dist/UI/Components/StaggeredTextList.js +111 -0
- package/dist/UI/Components/StaggeredTextList.js.map +1 -0
- package/dist/UI/Components/index.d.ts +4 -0
- package/dist/UI/Components/index.d.ts.map +1 -0
- package/dist/UI/Components/index.js +20 -0
- package/dist/UI/Components/index.js.map +1 -0
- package/dist/UI/ErrorBoundary/ErrorBoundary.d.ts +19 -0
- package/dist/UI/ErrorBoundary/ErrorBoundary.d.ts.map +1 -0
- package/dist/UI/ErrorBoundary/ErrorBoundary.js +123 -0
- package/dist/UI/ErrorBoundary/ErrorBoundary.js.map +1 -0
- package/dist/UI/ErrorBoundary/index.d.ts +3 -0
- package/dist/UI/ErrorBoundary/index.d.ts.map +1 -0
- package/dist/UI/ErrorBoundary/index.js +8 -0
- package/dist/UI/ErrorBoundary/index.js.map +1 -0
- package/dist/UI/ErrorBoundary/withErrorBoundary.d.ts +6 -0
- package/dist/UI/ErrorBoundary/withErrorBoundary.d.ts.map +1 -0
- package/dist/UI/ErrorBoundary/withErrorBoundary.js +13 -0
- package/dist/UI/ErrorBoundary/withErrorBoundary.js.map +1 -0
- package/dist/UI/OnboardingPage.d.ts +16 -0
- package/dist/UI/OnboardingPage.d.ts.map +1 -0
- package/dist/UI/OnboardingPage.js +38 -0
- package/dist/UI/OnboardingPage.js.map +1 -0
- package/dist/UI/Pages/Carousel/Renderer.d.ts +13 -0
- package/dist/UI/Pages/Carousel/Renderer.d.ts.map +1 -0
- package/dist/UI/Pages/Carousel/Renderer.js +121 -0
- package/dist/UI/Pages/Carousel/Renderer.js.map +1 -0
- package/dist/UI/Pages/Carousel/index.d.ts +3 -0
- package/dist/UI/Pages/Carousel/index.d.ts.map +1 -0
- package/dist/UI/Pages/Carousel/index.js +19 -0
- package/dist/UI/Pages/Carousel/index.js.map +1 -0
- package/dist/UI/Pages/Carousel/types.d.ts +32 -0
- package/dist/UI/Pages/Carousel/types.d.ts.map +1 -0
- package/dist/UI/Pages/Carousel/types.js +24 -0
- package/dist/UI/Pages/Carousel/types.js.map +1 -0
- package/dist/UI/Pages/Commitment/Renderer.d.ts +13 -0
- package/dist/UI/Pages/Commitment/Renderer.d.ts.map +1 -0
- package/dist/UI/Pages/Commitment/Renderer.js +173 -0
- package/dist/UI/Pages/Commitment/Renderer.js.map +1 -0
- package/dist/UI/Pages/Commitment/index.d.ts +3 -0
- package/dist/UI/Pages/Commitment/index.d.ts.map +1 -0
- package/dist/UI/Pages/Commitment/index.js +19 -0
- package/dist/UI/Pages/Commitment/index.js.map +1 -0
- package/dist/UI/Pages/Commitment/types.d.ts +41 -0
- package/dist/UI/Pages/Commitment/types.d.ts.map +1 -0
- package/dist/UI/Pages/Commitment/types.js +27 -0
- package/dist/UI/Pages/Commitment/types.js.map +1 -0
- package/dist/UI/Pages/Loader/Renderer.d.ts +10 -0
- package/dist/UI/Pages/Loader/Renderer.d.ts.map +1 -0
- package/dist/UI/Pages/Loader/Renderer.js +215 -0
- package/dist/UI/Pages/Loader/Renderer.js.map +1 -0
- package/dist/UI/Pages/Loader/index.d.ts +3 -0
- package/dist/UI/Pages/Loader/index.d.ts.map +1 -0
- package/dist/UI/Pages/Loader/index.js +19 -0
- package/dist/UI/Pages/Loader/index.js.map +1 -0
- package/dist/UI/Pages/Loader/types.d.ts +57 -0
- package/dist/UI/Pages/Loader/types.d.ts.map +1 -0
- package/dist/UI/Pages/Loader/types.js +30 -0
- package/dist/UI/Pages/Loader/types.js.map +1 -0
- package/dist/UI/Pages/MediaContent/Renderer.d.ts +13 -0
- package/dist/UI/Pages/MediaContent/Renderer.d.ts.map +1 -0
- package/dist/UI/Pages/MediaContent/Renderer.js +76 -0
- package/dist/UI/Pages/MediaContent/Renderer.js.map +1 -0
- package/dist/UI/Pages/MediaContent/index.d.ts +3 -0
- package/dist/UI/Pages/MediaContent/index.d.ts.map +1 -0
- package/dist/UI/Pages/MediaContent/index.js +19 -0
- package/dist/UI/Pages/MediaContent/index.js.map +1 -0
- package/dist/UI/Pages/MediaContent/types.d.ts +44 -0
- package/dist/UI/Pages/MediaContent/types.d.ts.map +1 -0
- package/dist/UI/Pages/MediaContent/types.js +22 -0
- package/dist/UI/Pages/MediaContent/types.js.map +1 -0
- package/dist/UI/Pages/Picker/Renderer.d.ts +13 -0
- package/dist/UI/Pages/Picker/Renderer.d.ts.map +1 -0
- package/dist/UI/Pages/Picker/Renderer.js +268 -0
- package/dist/UI/Pages/Picker/Renderer.js.map +1 -0
- package/dist/UI/Pages/Picker/index.d.ts +3 -0
- package/dist/UI/Pages/Picker/index.d.ts.map +1 -0
- package/dist/UI/Pages/Picker/index.js +19 -0
- package/dist/UI/Pages/Picker/index.js.map +1 -0
- package/dist/UI/Pages/Picker/types.d.ts +49 -0
- package/dist/UI/Pages/Picker/types.d.ts.map +1 -0
- package/dist/UI/Pages/Picker/types.js +30 -0
- package/dist/UI/Pages/Picker/types.js.map +1 -0
- package/dist/UI/Pages/Question/Renderer.d.ts +18 -0
- package/dist/UI/Pages/Question/Renderer.d.ts.map +1 -0
- package/dist/UI/Pages/Question/Renderer.js +128 -0
- package/dist/UI/Pages/Question/Renderer.js.map +1 -0
- package/dist/UI/Pages/Question/components.d.ts +57 -0
- package/dist/UI/Pages/Question/components.d.ts.map +1 -0
- package/dist/UI/Pages/Question/components.js +57 -0
- package/dist/UI/Pages/Question/components.js.map +1 -0
- package/dist/UI/Pages/Question/index.d.ts +4 -0
- package/dist/UI/Pages/Question/index.d.ts.map +1 -0
- package/dist/UI/Pages/Question/index.js +20 -0
- package/dist/UI/Pages/Question/index.js.map +1 -0
- package/dist/UI/Pages/Question/types.d.ts +47 -0
- package/dist/UI/Pages/Question/types.d.ts.map +1 -0
- package/dist/UI/Pages/Question/types.js +28 -0
- package/dist/UI/Pages/Question/types.js.map +1 -0
- package/dist/UI/Pages/Ratings/Renderer.d.ts +13 -0
- package/dist/UI/Pages/Ratings/Renderer.d.ts.map +1 -0
- package/dist/UI/Pages/Ratings/Renderer.js +201 -0
- package/dist/UI/Pages/Ratings/Renderer.js.map +1 -0
- package/dist/UI/Pages/Ratings/index.d.ts +3 -0
- package/dist/UI/Pages/Ratings/index.d.ts.map +1 -0
- package/dist/UI/Pages/Ratings/index.js +19 -0
- package/dist/UI/Pages/Ratings/index.js.map +1 -0
- package/dist/UI/Pages/Ratings/types.d.ts +32 -0
- package/dist/UI/Pages/Ratings/types.d.ts.map +1 -0
- package/dist/UI/Pages/Ratings/types.js +25 -0
- package/dist/UI/Pages/Ratings/types.js.map +1 -0
- package/dist/UI/Pages/index.d.ts +9 -0
- package/dist/UI/Pages/index.d.ts.map +1 -0
- package/dist/UI/Pages/index.js +26 -0
- package/dist/UI/Pages/index.js.map +1 -0
- package/dist/UI/Pages/types.d.ts +19 -0
- package/dist/UI/Pages/types.d.ts.map +1 -0
- package/dist/UI/Pages/types.js +25 -0
- package/dist/UI/Pages/types.js.map +1 -0
- package/dist/UI/Provider/OnboardingProgressProvider.d.ts +18 -0
- package/dist/UI/Provider/OnboardingProgressProvider.d.ts.map +1 -0
- package/dist/UI/Provider/OnboardingProgressProvider.js +23 -0
- package/dist/UI/Provider/OnboardingProgressProvider.js.map +1 -0
- package/dist/UI/Provider/index.d.ts +2 -0
- package/dist/UI/Provider/index.d.ts.map +1 -0
- package/dist/UI/Provider/index.js +7 -0
- package/dist/UI/Provider/index.js.map +1 -0
- package/dist/UI/Templates/OnboardingTemplate.d.ts +15 -0
- package/dist/UI/Templates/OnboardingTemplate.d.ts.map +1 -0
- package/dist/UI/Templates/OnboardingTemplate.js +48 -0
- package/dist/UI/Templates/OnboardingTemplate.js.map +1 -0
- package/dist/UI/Templates/index.d.ts +2 -0
- package/dist/UI/Templates/index.d.ts.map +1 -0
- package/dist/UI/Templates/index.js +6 -0
- package/dist/UI/Templates/index.js.map +1 -0
- package/dist/UI/Theme/ThemeProvider.d.ts +27 -0
- package/dist/UI/Theme/ThemeProvider.d.ts.map +1 -0
- package/dist/UI/Theme/ThemeProvider.js +49 -0
- package/dist/UI/Theme/ThemeProvider.js.map +1 -0
- package/dist/UI/Theme/defaultTheme.d.ts +7 -0
- package/dist/UI/Theme/defaultTheme.d.ts.map +1 -0
- package/dist/UI/Theme/defaultTheme.js +14 -0
- package/dist/UI/Theme/defaultTheme.js.map +1 -0
- package/dist/UI/Theme/helpers.d.ts +12 -0
- package/dist/UI/Theme/helpers.d.ts.map +1 -0
- package/dist/UI/Theme/helpers.js +21 -0
- package/dist/UI/Theme/helpers.js.map +1 -0
- package/dist/UI/Theme/index.d.ts +8 -0
- package/dist/UI/Theme/index.d.ts.map +1 -0
- package/dist/UI/Theme/index.js +24 -0
- package/dist/UI/Theme/index.js.map +1 -0
- package/dist/UI/Theme/token.d.ts +107 -0
- package/dist/UI/Theme/token.d.ts.map +1 -0
- package/dist/UI/Theme/token.js +108 -0
- package/dist/UI/Theme/token.js.map +1 -0
- package/dist/UI/Theme/tokens/darkTokens.d.ts +24 -0
- package/dist/UI/Theme/tokens/darkTokens.d.ts.map +1 -0
- package/dist/UI/Theme/tokens/darkTokens.js +27 -0
- package/dist/UI/Theme/tokens/darkTokens.js.map +1 -0
- package/dist/UI/Theme/tokens/index.d.ts +4 -0
- package/dist/UI/Theme/tokens/index.d.ts.map +1 -0
- package/dist/UI/Theme/tokens/index.js +20 -0
- package/dist/UI/Theme/tokens/index.js.map +1 -0
- package/dist/UI/Theme/tokens/lightTokens.d.ts +24 -0
- package/dist/UI/Theme/tokens/lightTokens.d.ts.map +1 -0
- package/dist/UI/Theme/tokens/lightTokens.js +27 -0
- package/dist/UI/Theme/tokens/lightTokens.js.map +1 -0
- package/dist/UI/Theme/tokens/typography.d.ts +65 -0
- package/dist/UI/Theme/tokens/typography.d.ts.map +1 -0
- package/dist/UI/Theme/tokens/typography.js +68 -0
- package/dist/UI/Theme/tokens/typography.js.map +1 -0
- package/dist/UI/Theme/types.d.ts +65 -0
- package/dist/UI/Theme/types.d.ts.map +1 -0
- package/dist/UI/Theme/types.js +3 -0
- package/dist/UI/Theme/types.js.map +1 -0
- package/dist/UI/Theme/useTheme.d.ts +7 -0
- package/dist/UI/Theme/useTheme.d.ts.map +1 -0
- package/dist/UI/Theme/useTheme.js +23 -0
- package/dist/UI/Theme/useTheme.js.map +1 -0
- package/dist/UI/Theme/utils.d.ts +12 -0
- package/dist/UI/Theme/utils.d.ts.map +1 -0
- package/dist/UI/Theme/utils.js +55 -0
- package/dist/UI/Theme/utils.js.map +1 -0
- package/dist/UI/index.d.ts +8 -0
- package/dist/UI/index.d.ts.map +1 -0
- package/dist/UI/index.js +24 -0
- package/dist/UI/index.js.map +1 -0
- package/dist/UI/types.d.ts +23 -0
- package/dist/UI/types.d.ts.map +1 -0
- package/dist/UI/types.js +3 -0
- package/dist/UI/types.js.map +1 -0
- package/dist/assets/laurel-left.png +0 -0
- package/dist/assets/laurel-right.png +0 -0
- package/dist/assets/star-filled.png +0 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +33 -0
- package/dist/index.js.map +1 -0
- package/dist/provider/CustomComponentsContext.d.ts +57 -0
- package/dist/provider/CustomComponentsContext.d.ts.map +1 -0
- package/dist/provider/CustomComponentsContext.js +19 -0
- package/dist/provider/CustomComponentsContext.js.map +1 -0
- package/dist/provider/OnboardingUIProvider.d.ts +44 -0
- package/dist/provider/OnboardingUIProvider.d.ts.map +1 -0
- package/dist/provider/OnboardingUIProvider.js +33 -0
- package/dist/provider/OnboardingUIProvider.js.map +1 -0
- package/dist/provider/OnboardingUIProvider.old.d.ts +60 -0
- package/dist/provider/OnboardingUIProvider.old.d.ts.map +1 -0
- package/dist/provider/OnboardingUIProvider.old.js +53 -0
- package/dist/provider/OnboardingUIProvider.old.js.map +1 -0
- package/package.json +77 -0
- package/src/UI/Components/CircularProgress.tsx +146 -0
- package/src/UI/Components/ProgressBar.tsx +143 -0
- package/src/UI/Components/StaggeredTextList.tsx +152 -0
- package/src/UI/Components/index.ts +3 -0
- package/src/UI/ErrorBoundary/ErrorBoundary.tsx +181 -0
- package/src/UI/ErrorBoundary/README.md +71 -0
- package/src/UI/ErrorBoundary/index.ts +2 -0
- package/src/UI/ErrorBoundary/withErrorBoundary.tsx +19 -0
- package/src/UI/OnboardingPage.tsx +53 -0
- package/src/UI/Pages/Carousel/Renderer.tsx +210 -0
- package/src/UI/Pages/Carousel/index.ts +2 -0
- package/src/UI/Pages/Carousel/types.ts +26 -0
- package/src/UI/Pages/Commitment/Renderer.tsx +312 -0
- package/src/UI/Pages/Commitment/index.ts +2 -0
- package/src/UI/Pages/Commitment/types.ts +28 -0
- package/src/UI/Pages/Loader/Renderer.tsx +417 -0
- package/src/UI/Pages/Loader/index.ts +2 -0
- package/src/UI/Pages/Loader/types.ts +32 -0
- package/src/UI/Pages/MediaContent/Renderer.tsx +130 -0
- package/src/UI/Pages/MediaContent/index.ts +2 -0
- package/src/UI/Pages/MediaContent/types.ts +26 -0
- package/src/UI/Pages/Picker/Renderer.tsx +618 -0
- package/src/UI/Pages/Picker/index.ts +2 -0
- package/src/UI/Pages/Picker/types.ts +34 -0
- package/src/UI/Pages/Question/Renderer.tsx +208 -0
- package/src/UI/Pages/Question/components.tsx +130 -0
- package/src/UI/Pages/Question/index.ts +3 -0
- package/src/UI/Pages/Question/types.ts +29 -0
- package/src/UI/Pages/Ratings/Renderer.tsx +282 -0
- package/src/UI/Pages/Ratings/index.ts +2 -0
- package/src/UI/Pages/Ratings/types.ts +22 -0
- package/src/UI/Pages/index.ts +10 -0
- package/src/UI/Pages/types.ts +25 -0
- package/src/UI/Provider/OnboardingProgressProvider.tsx +40 -0
- package/src/UI/Provider/index.ts +1 -0
- package/src/UI/Templates/OnboardingTemplate.tsx +86 -0
- package/src/UI/Templates/index.ts +1 -0
- package/src/UI/Theme/ThemeProvider.tsx +100 -0
- package/src/UI/Theme/defaultTheme.ts +12 -0
- package/src/UI/Theme/helpers.ts +24 -0
- package/src/UI/Theme/index.ts +7 -0
- package/src/UI/Theme/token.ts +106 -0
- package/src/UI/Theme/tokens/darkTokens.ts +25 -0
- package/src/UI/Theme/tokens/index.ts +3 -0
- package/src/UI/Theme/tokens/lightTokens.ts +25 -0
- package/src/UI/Theme/tokens/typography.ts +66 -0
- package/src/UI/Theme/types.ts +72 -0
- package/src/UI/Theme/useTheme.ts +22 -0
- package/src/UI/Theme/utils.ts +67 -0
- package/src/UI/index.ts +7 -0
- package/src/UI/types.ts +41 -0
- package/src/assets/laurel-left.png +0 -0
- package/src/assets/laurel-right.png +0 -0
- package/src/assets/star-filled.png +0 -0
- package/src/index.ts +28 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { PickerStepType } from "./types";
|
|
2
|
+
import { Theme } from "../../Theme/types";
|
|
3
|
+
type ContentProps = {
|
|
4
|
+
step: PickerStepType;
|
|
5
|
+
onContinue: (value?: string | number) => void;
|
|
6
|
+
theme?: Theme;
|
|
7
|
+
};
|
|
8
|
+
export declare const PickerRenderer: {
|
|
9
|
+
(props: ContentProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
displayName: string;
|
|
11
|
+
};
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=Renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Renderer.d.ts","sourceRoot":"","sources":["../../../../src/UI/Pages/Picker/Renderer.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAgD,MAAM,SAAS,CAAC;AAGvF,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAc1C,KAAK,YAAY,GAAG;IAClB,IAAI,EAAE,cAAc,CAAC;IACrB,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC9C,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAAC;AAmlBF,eAAO,MAAM,cAAc;;;CAAkD,CAAC"}
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PickerRenderer = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const OnboardingTemplate_1 = require("../../Templates/OnboardingTemplate");
|
|
6
|
+
const types_1 = require("./types");
|
|
7
|
+
const react_native_1 = require("react-native");
|
|
8
|
+
const react_1 = require("react");
|
|
9
|
+
const defaultTheme_1 = require("../../Theme/defaultTheme");
|
|
10
|
+
const helpers_1 = require("../../Theme/helpers");
|
|
11
|
+
// Lazy load Picker - only needed for picker screens
|
|
12
|
+
let PickerComponent;
|
|
13
|
+
try {
|
|
14
|
+
const PickerModule = require("@react-native-picker/picker");
|
|
15
|
+
PickerComponent = PickerModule.Picker;
|
|
16
|
+
}
|
|
17
|
+
catch (e) {
|
|
18
|
+
// Picker not installed - will show error when picker screen is used
|
|
19
|
+
PickerComponent = null;
|
|
20
|
+
}
|
|
21
|
+
const PickerRendererBase = ({ step, onContinue, theme = defaultTheme_1.defaultTheme }) => {
|
|
22
|
+
const validatedData = types_1.PickerStepTypeSchema.parse(step);
|
|
23
|
+
const { title, description, pickerType } = validatedData.payload;
|
|
24
|
+
// Check if Picker is available
|
|
25
|
+
if (!PickerComponent) {
|
|
26
|
+
throw new Error("Picker screens require @react-native-picker/picker. Install it with: npm install @react-native-picker/picker");
|
|
27
|
+
}
|
|
28
|
+
// Route to specific picker implementation based on type
|
|
29
|
+
if (pickerType === "weight") {
|
|
30
|
+
return ((0, jsx_runtime_1.jsx)(WeightPicker, { step: validatedData, onContinue: onContinue, title: title, description: description, theme: theme }));
|
|
31
|
+
}
|
|
32
|
+
if (pickerType === "height") {
|
|
33
|
+
return ((0, jsx_runtime_1.jsx)(HeightPicker, { step: validatedData, onContinue: onContinue, title: title, description: description, theme: theme }));
|
|
34
|
+
}
|
|
35
|
+
if (pickerType === "name") {
|
|
36
|
+
return ((0, jsx_runtime_1.jsx)(NamePicker, { step: validatedData, onContinue: onContinue, title: title, description: description, theme: theme }));
|
|
37
|
+
}
|
|
38
|
+
if (pickerType === "date") {
|
|
39
|
+
return ((0, jsx_runtime_1.jsx)(DatePicker, { step: validatedData, onContinue: onContinue, title: title, description: description, theme: theme }));
|
|
40
|
+
}
|
|
41
|
+
// Fallback for other picker types (to be implemented)
|
|
42
|
+
return ((0, jsx_runtime_1.jsx)(OnboardingTemplate_1.OnboardingTemplate, { step: step, onContinue: () => onContinue(), theme: theme, button: { text: validatedData.continueButtonLabel }, children: (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.container, children: [(0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [(0, helpers_1.getTextStyle)(theme, "heading1"), styles.title, { color: theme.colors.text.primary }], children: title }), description && (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [(0, helpers_1.getTextStyle)(theme, "body"), styles.description, { color: theme.colors.text.secondary }], children: description }), (0, jsx_runtime_1.jsx)(react_native_1.View, { style: [styles.placeholderContainer, { backgroundColor: theme.colors.neutral.lowest }], children: (0, jsx_runtime_1.jsxs)(react_native_1.Text, { style: [(0, helpers_1.getTextStyle)(theme, "body"), styles.placeholderText, { color: theme.colors.text.secondary }], children: ["Picker type \"", pickerType, "\" not yet implemented"] }) })] }) }));
|
|
43
|
+
};
|
|
44
|
+
const WeightPicker = ({ step, onContinue, title, description, theme, }) => {
|
|
45
|
+
const [selectedWeight, setSelectedWeight] = (0, react_1.useState)(70);
|
|
46
|
+
const [unit, setUnit] = (0, react_1.useState)("kg");
|
|
47
|
+
const generateWeightOptions = (unit) => {
|
|
48
|
+
const config = {
|
|
49
|
+
lb: { max: 660, step: 1 },
|
|
50
|
+
kg: { max: 300, step: 1 },
|
|
51
|
+
};
|
|
52
|
+
const { max, step } = config[unit];
|
|
53
|
+
const options = [];
|
|
54
|
+
for (let i = max; i >= step; i -= step) {
|
|
55
|
+
options.push((0, jsx_runtime_1.jsx)(PickerComponent.Item, { label: i.toString(), value: i }, i));
|
|
56
|
+
}
|
|
57
|
+
return options;
|
|
58
|
+
};
|
|
59
|
+
const handleContinue = () => {
|
|
60
|
+
// Return weight as "value-unit" format, e.g., "70-kg"
|
|
61
|
+
onContinue(`${selectedWeight}-${unit}`);
|
|
62
|
+
};
|
|
63
|
+
return ((0, jsx_runtime_1.jsx)(OnboardingTemplate_1.OnboardingTemplate, { step: step, onContinue: handleContinue, theme: theme, button: { text: step.continueButtonLabel }, children: (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.container, children: [(0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.textContainer, children: [(0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [(0, helpers_1.getTextStyle)(theme, "heading1"), styles.title, { color: theme.colors.text.primary }], children: title }), description && ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [(0, helpers_1.getTextStyle)(theme, "body"), styles.description, { color: theme.colors.text.secondary }], children: description }))] }), (0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.pickerContainer, children: (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.pickerRow, children: [(0, jsx_runtime_1.jsx)(PickerComponent, { selectedValue: selectedWeight, onValueChange: (itemValue) => setSelectedWeight(Number(itemValue)), style: styles.weightPicker, itemStyle: [styles.pickerItem, { color: theme.colors.text.primary }], children: generateWeightOptions(unit) }), (0, jsx_runtime_1.jsxs)(PickerComponent, { selectedValue: unit, onValueChange: (itemValue) => {
|
|
64
|
+
if (itemValue === "kg") {
|
|
65
|
+
setSelectedWeight(70);
|
|
66
|
+
}
|
|
67
|
+
else if (itemValue === "lb") {
|
|
68
|
+
setSelectedWeight(154);
|
|
69
|
+
}
|
|
70
|
+
setUnit(itemValue);
|
|
71
|
+
}, style: styles.unitPicker, itemStyle: [styles.pickerItem, { color: theme.colors.text.primary }], children: [(0, jsx_runtime_1.jsx)(PickerComponent.Item, { label: "lb", value: "lb" }), (0, jsx_runtime_1.jsx)(PickerComponent.Item, { label: "kg", value: "kg" })] })] }) })] }) }));
|
|
72
|
+
};
|
|
73
|
+
const HeightPicker = ({ step, onContinue, title, description, theme, }) => {
|
|
74
|
+
const [unit, setUnit] = (0, react_1.useState)("cm");
|
|
75
|
+
// For metric (cm)
|
|
76
|
+
const [selectedCm, setSelectedCm] = (0, react_1.useState)(170);
|
|
77
|
+
// For imperial (ft + in)
|
|
78
|
+
const [selectedFeet, setSelectedFeet] = (0, react_1.useState)(5);
|
|
79
|
+
const [selectedInches, setSelectedInches] = (0, react_1.useState)(7);
|
|
80
|
+
const generateCmOptions = () => {
|
|
81
|
+
const options = [];
|
|
82
|
+
for (let i = 250; i >= 100; i--) {
|
|
83
|
+
options.push((0, jsx_runtime_1.jsx)(PickerComponent.Item, { label: i.toString(), value: i }, i));
|
|
84
|
+
}
|
|
85
|
+
return options;
|
|
86
|
+
};
|
|
87
|
+
const generateFeetOptions = () => {
|
|
88
|
+
const options = [];
|
|
89
|
+
for (let i = 8; i >= 3; i--) {
|
|
90
|
+
options.push((0, jsx_runtime_1.jsx)(PickerComponent.Item, { label: i.toString(), value: i }, i));
|
|
91
|
+
}
|
|
92
|
+
return options;
|
|
93
|
+
};
|
|
94
|
+
const generateInchesOptions = () => {
|
|
95
|
+
const options = [];
|
|
96
|
+
for (let i = 11; i >= 0; i--) {
|
|
97
|
+
options.push((0, jsx_runtime_1.jsx)(PickerComponent.Item, { label: i.toString(), value: i }, i));
|
|
98
|
+
}
|
|
99
|
+
return options;
|
|
100
|
+
};
|
|
101
|
+
const handleContinue = () => {
|
|
102
|
+
// Return height based on unit
|
|
103
|
+
if (unit === "cm") {
|
|
104
|
+
onContinue(`${selectedCm}-${unit}`);
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
// Return as "feet-inches-ft" format, e.g., "5-7-ft"
|
|
108
|
+
onContinue(`${selectedFeet}-${selectedInches}-${unit}`);
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
const handleUnitChange = (newUnit) => {
|
|
112
|
+
if (newUnit === "cm") {
|
|
113
|
+
setSelectedCm(170);
|
|
114
|
+
}
|
|
115
|
+
else if (newUnit === "ft") {
|
|
116
|
+
setSelectedFeet(5);
|
|
117
|
+
setSelectedInches(7);
|
|
118
|
+
}
|
|
119
|
+
setUnit(newUnit);
|
|
120
|
+
};
|
|
121
|
+
return ((0, jsx_runtime_1.jsx)(OnboardingTemplate_1.OnboardingTemplate, { step: step, onContinue: handleContinue, theme: theme, button: { text: step.continueButtonLabel }, children: (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.container, children: [(0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.textContainer, children: [(0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [(0, helpers_1.getTextStyle)(theme, "heading1"), styles.title, { color: theme.colors.text.primary }], children: title }), description && ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [(0, helpers_1.getTextStyle)(theme, "body"), styles.description, { color: theme.colors.text.secondary }], children: description }))] }), (0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.pickerContainer, children: unit === "cm" ? ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.pickerRow, children: [(0, jsx_runtime_1.jsx)(PickerComponent, { selectedValue: selectedCm, onValueChange: (itemValue) => setSelectedCm(Number(itemValue)), style: styles.weightPicker, itemStyle: [styles.pickerItem, { color: theme.colors.text.primary }], children: generateCmOptions() }), (0, jsx_runtime_1.jsxs)(PickerComponent, { selectedValue: unit, onValueChange: (itemValue) => handleUnitChange(itemValue), style: styles.unitPicker, itemStyle: [styles.pickerItem, { color: theme.colors.text.primary }], children: [(0, jsx_runtime_1.jsx)(PickerComponent.Item, { label: "cm", value: "cm" }), (0, jsx_runtime_1.jsx)(PickerComponent.Item, { label: "ft", value: "ft" })] })] })) : ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.heightImperialContainer, children: (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.pickerRow, children: [(0, jsx_runtime_1.jsx)(PickerComponent, { selectedValue: selectedFeet, onValueChange: (itemValue) => setSelectedFeet(Number(itemValue)), style: styles.heightFeetPicker, itemStyle: [styles.pickerItem, { color: theme.colors.text.primary }], children: generateFeetOptions() }), (0, jsx_runtime_1.jsx)(PickerComponent, { selectedValue: selectedInches, onValueChange: (itemValue) => setSelectedInches(Number(itemValue)), style: styles.heightInchesPicker, itemStyle: [styles.pickerItem, { color: theme.colors.text.primary }], children: generateInchesOptions() }), (0, jsx_runtime_1.jsxs)(PickerComponent, { selectedValue: unit, onValueChange: (itemValue) => handleUnitChange(itemValue), style: styles.heightUnitPicker, itemStyle: [styles.pickerItem, { color: theme.colors.text.primary }], children: [(0, jsx_runtime_1.jsx)(PickerComponent.Item, { label: "cm", value: "cm" }), (0, jsx_runtime_1.jsx)(PickerComponent.Item, { label: "ft", value: "ft" })] })] }) })) })] }) }));
|
|
122
|
+
};
|
|
123
|
+
const NamePicker = ({ step, onContinue, title, description, theme, }) => {
|
|
124
|
+
const [name, setName] = (0, react_1.useState)("");
|
|
125
|
+
const handleContinue = () => {
|
|
126
|
+
if (name.trim()) {
|
|
127
|
+
onContinue(name.trim());
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
const dismissKeyboard = () => {
|
|
131
|
+
react_native_1.Keyboard.dismiss();
|
|
132
|
+
};
|
|
133
|
+
return ((0, jsx_runtime_1.jsx)(react_native_1.KeyboardAvoidingView, { behavior: react_native_1.Platform.OS === "ios" ? "padding" : "height", style: { flex: 1 }, children: (0, jsx_runtime_1.jsx)(react_native_1.TouchableWithoutFeedback, { onPress: dismissKeyboard, children: (0, jsx_runtime_1.jsx)(react_native_1.View, { style: { flex: 1 }, children: (0, jsx_runtime_1.jsx)(OnboardingTemplate_1.OnboardingTemplate, { step: step, onContinue: handleContinue, theme: theme, button: {
|
|
134
|
+
text: step.continueButtonLabel,
|
|
135
|
+
disabled: !name.trim(),
|
|
136
|
+
}, children: (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.container, children: [(0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.textContainer, children: [(0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [(0, helpers_1.getTextStyle)(theme, "heading1"), styles.title, { color: theme.colors.text.primary }], children: title }), description && ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [(0, helpers_1.getTextStyle)(theme, "body"), styles.description, { color: theme.colors.text.secondary }], children: description }))] }), (0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.nameInputContainer, children: (0, jsx_runtime_1.jsx)(react_native_1.TextInput, { autoFocus: true, value: name, onChangeText: setName, returnKeyType: "done", placeholder: "Type to write", placeholderTextColor: theme.colors.text.disable, onSubmitEditing: () => name.trim() && handleContinue(), style: [
|
|
137
|
+
styles.nameInput,
|
|
138
|
+
{
|
|
139
|
+
backgroundColor: theme.colors.neutral.lowest,
|
|
140
|
+
color: theme.colors.text.primary,
|
|
141
|
+
},
|
|
142
|
+
] }) })] }) }) }) }) }));
|
|
143
|
+
};
|
|
144
|
+
const DatePicker = ({ step, onContinue, title, description, theme, }) => {
|
|
145
|
+
// Get current date as default
|
|
146
|
+
const now = new Date();
|
|
147
|
+
const [selectedMonth, setSelectedMonth] = (0, react_1.useState)(now.getMonth());
|
|
148
|
+
const [selectedDay, setSelectedDay] = (0, react_1.useState)(now.getDate());
|
|
149
|
+
const [selectedYear, setSelectedYear] = (0, react_1.useState)(now.getFullYear());
|
|
150
|
+
const months = [
|
|
151
|
+
"January", "February", "March", "April", "May", "June",
|
|
152
|
+
"July", "August", "September", "October", "November", "December"
|
|
153
|
+
];
|
|
154
|
+
const generateDayOptions = (month, year) => {
|
|
155
|
+
const daysInMonth = new Date(year, month + 1, 0).getDate();
|
|
156
|
+
const options = [];
|
|
157
|
+
for (let i = 1; i <= daysInMonth; i++) {
|
|
158
|
+
options.push((0, jsx_runtime_1.jsx)(PickerComponent.Item, { label: i.toString(), value: i }, i));
|
|
159
|
+
}
|
|
160
|
+
return options;
|
|
161
|
+
};
|
|
162
|
+
const generateYearOptions = () => {
|
|
163
|
+
const currentYear = new Date().getFullYear();
|
|
164
|
+
const options = [];
|
|
165
|
+
for (let i = currentYear; i >= currentYear - 100; i--) {
|
|
166
|
+
options.push((0, jsx_runtime_1.jsx)(PickerComponent.Item, { label: i.toString(), value: i }, i));
|
|
167
|
+
}
|
|
168
|
+
return options;
|
|
169
|
+
};
|
|
170
|
+
const handleMonthChange = (month) => {
|
|
171
|
+
setSelectedMonth(month);
|
|
172
|
+
// Adjust day if it exceeds the new month's days
|
|
173
|
+
const daysInNewMonth = new Date(selectedYear, month + 1, 0).getDate();
|
|
174
|
+
if (selectedDay > daysInNewMonth) {
|
|
175
|
+
setSelectedDay(daysInNewMonth);
|
|
176
|
+
}
|
|
177
|
+
};
|
|
178
|
+
const handleContinue = () => {
|
|
179
|
+
// Return date as ISO string "YYYY-MM-DD"
|
|
180
|
+
const date = new Date(selectedYear, selectedMonth, selectedDay);
|
|
181
|
+
onContinue(date.toISOString().split('T')[0]);
|
|
182
|
+
};
|
|
183
|
+
return ((0, jsx_runtime_1.jsx)(OnboardingTemplate_1.OnboardingTemplate, { step: step, onContinue: handleContinue, theme: theme, button: { text: step.continueButtonLabel }, children: (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.container, children: [(0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.textContainer, children: [(0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [(0, helpers_1.getTextStyle)(theme, "heading1"), styles.title, { color: theme.colors.text.primary }], children: title }), description && ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [(0, helpers_1.getTextStyle)(theme, "body"), styles.description, { color: theme.colors.text.secondary }], children: description }))] }), (0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.pickerContainer, children: (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.datePickerRow, children: [(0, jsx_runtime_1.jsx)(PickerComponent, { selectedValue: selectedMonth, onValueChange: (itemValue) => handleMonthChange(itemValue), style: styles.monthPicker, itemStyle: [styles.pickerItem, { color: theme.colors.text.primary }], children: months.map((month, index) => ((0, jsx_runtime_1.jsx)(PickerComponent.Item, { label: month, value: index }, index))) }), (0, jsx_runtime_1.jsx)(PickerComponent, { selectedValue: selectedDay, onValueChange: (itemValue) => setSelectedDay(itemValue), style: styles.dayPicker, itemStyle: [styles.pickerItem, { color: theme.colors.text.primary }], children: generateDayOptions(selectedMonth, selectedYear) }), (0, jsx_runtime_1.jsx)(PickerComponent, { selectedValue: selectedYear, onValueChange: (itemValue) => setSelectedYear(itemValue), style: styles.yearPicker, itemStyle: [styles.pickerItem, { color: theme.colors.text.primary }], children: generateYearOptions() })] }) })] }) }));
|
|
184
|
+
};
|
|
185
|
+
const styles = react_native_1.StyleSheet.create({
|
|
186
|
+
container: {
|
|
187
|
+
flex: 1,
|
|
188
|
+
paddingHorizontal: 24,
|
|
189
|
+
paddingTop: 20,
|
|
190
|
+
gap: 32,
|
|
191
|
+
},
|
|
192
|
+
textContainer: {
|
|
193
|
+
gap: 16,
|
|
194
|
+
},
|
|
195
|
+
title: {
|
|
196
|
+
textAlign: "center",
|
|
197
|
+
letterSpacing: -0.76,
|
|
198
|
+
},
|
|
199
|
+
description: {
|
|
200
|
+
textAlign: "center",
|
|
201
|
+
},
|
|
202
|
+
placeholderContainer: {
|
|
203
|
+
flex: 1,
|
|
204
|
+
justifyContent: "center",
|
|
205
|
+
alignItems: "center",
|
|
206
|
+
borderRadius: 24,
|
|
207
|
+
padding: 32,
|
|
208
|
+
},
|
|
209
|
+
placeholderText: {
|
|
210
|
+
textAlign: "center",
|
|
211
|
+
},
|
|
212
|
+
pickerContainer: {
|
|
213
|
+
flex: 1,
|
|
214
|
+
justifyContent: "center",
|
|
215
|
+
},
|
|
216
|
+
pickerRow: {
|
|
217
|
+
flexDirection: "row",
|
|
218
|
+
},
|
|
219
|
+
weightPicker: {
|
|
220
|
+
width: "65%",
|
|
221
|
+
},
|
|
222
|
+
unitPicker: {
|
|
223
|
+
width: "35%",
|
|
224
|
+
},
|
|
225
|
+
pickerItem: {
|
|
226
|
+
fontSize: 20,
|
|
227
|
+
},
|
|
228
|
+
heightImperialContainer: {
|
|
229
|
+
flex: 1,
|
|
230
|
+
},
|
|
231
|
+
heightFeetPicker: {
|
|
232
|
+
width: "33%",
|
|
233
|
+
},
|
|
234
|
+
heightInchesPicker: {
|
|
235
|
+
width: "33%",
|
|
236
|
+
},
|
|
237
|
+
heightUnitPicker: {
|
|
238
|
+
width: "34%",
|
|
239
|
+
},
|
|
240
|
+
nameInputContainer: {
|
|
241
|
+
flex: 1,
|
|
242
|
+
justifyContent: "center",
|
|
243
|
+
paddingHorizontal: 8,
|
|
244
|
+
},
|
|
245
|
+
nameInput: {
|
|
246
|
+
width: "100%",
|
|
247
|
+
paddingVertical: 16,
|
|
248
|
+
paddingHorizontal: 24,
|
|
249
|
+
height: 70,
|
|
250
|
+
fontSize: 17,
|
|
251
|
+
borderRadius: 16,
|
|
252
|
+
},
|
|
253
|
+
datePickerRow: {
|
|
254
|
+
flexDirection: "row",
|
|
255
|
+
},
|
|
256
|
+
monthPicker: {
|
|
257
|
+
flex: 2,
|
|
258
|
+
},
|
|
259
|
+
dayPicker: {
|
|
260
|
+
flex: 1,
|
|
261
|
+
},
|
|
262
|
+
yearPicker: {
|
|
263
|
+
flex: 1,
|
|
264
|
+
},
|
|
265
|
+
});
|
|
266
|
+
const ErrorBoundary_1 = require("../../ErrorBoundary");
|
|
267
|
+
exports.PickerRenderer = (0, ErrorBoundary_1.withErrorBoundary)(PickerRendererBase, 'Picker');
|
|
268
|
+
//# sourceMappingURL=Renderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../../../../src/UI/Pages/Picker/Renderer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/UI/Pages/Picker/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./Renderer"), exports);
|
|
18
|
+
__exportStar(require("./types"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/UI/Pages/Picker/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,0CAAwB"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const PickerTypeEnum: z.ZodEnum<{
|
|
3
|
+
name: "name";
|
|
4
|
+
date: "date";
|
|
5
|
+
height: "height";
|
|
6
|
+
weight: "weight";
|
|
7
|
+
age: "age";
|
|
8
|
+
gender: "gender";
|
|
9
|
+
coach: "coach";
|
|
10
|
+
}>;
|
|
11
|
+
export declare const PickerStepPayloadSchema: z.ZodObject<{
|
|
12
|
+
title: z.ZodString;
|
|
13
|
+
description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
14
|
+
pickerType: z.ZodUnion<readonly [z.ZodEnum<{
|
|
15
|
+
name: "name";
|
|
16
|
+
date: "date";
|
|
17
|
+
height: "height";
|
|
18
|
+
weight: "weight";
|
|
19
|
+
age: "age";
|
|
20
|
+
gender: "gender";
|
|
21
|
+
coach: "coach";
|
|
22
|
+
}>, z.ZodString]>;
|
|
23
|
+
}, z.core.$strip>;
|
|
24
|
+
export declare const PickerStepTypeSchema: z.ZodObject<{
|
|
25
|
+
id: z.ZodString;
|
|
26
|
+
type: z.ZodLiteral<"Picker">;
|
|
27
|
+
name: z.ZodString;
|
|
28
|
+
displayProgressHeader: z.ZodBoolean;
|
|
29
|
+
payload: z.ZodObject<{
|
|
30
|
+
title: z.ZodString;
|
|
31
|
+
description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
32
|
+
pickerType: z.ZodUnion<readonly [z.ZodEnum<{
|
|
33
|
+
name: "name";
|
|
34
|
+
date: "date";
|
|
35
|
+
height: "height";
|
|
36
|
+
weight: "weight";
|
|
37
|
+
age: "age";
|
|
38
|
+
gender: "gender";
|
|
39
|
+
coach: "coach";
|
|
40
|
+
}>, z.ZodString]>;
|
|
41
|
+
}, z.core.$strip>;
|
|
42
|
+
customPayload: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodAny>>>;
|
|
43
|
+
continueButtonLabel: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
44
|
+
figmaUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
45
|
+
}, z.core.$strip>;
|
|
46
|
+
export type PickerStepType = z.infer<typeof PickerStepTypeSchema>;
|
|
47
|
+
export type WeightUnit = "kg" | "lb";
|
|
48
|
+
export type HeightUnit = "cm" | "ft";
|
|
49
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/UI/Pages/Picker/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,cAAc;;;;;;;;EAQzB,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;iBAIlC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;iBAS/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC;AACrC,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PickerStepTypeSchema = exports.PickerStepPayloadSchema = exports.PickerTypeEnum = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const types_1 = require("../types");
|
|
6
|
+
exports.PickerTypeEnum = zod_1.z.enum([
|
|
7
|
+
"height",
|
|
8
|
+
"weight",
|
|
9
|
+
"age",
|
|
10
|
+
"date",
|
|
11
|
+
"gender",
|
|
12
|
+
"coach",
|
|
13
|
+
"name",
|
|
14
|
+
]);
|
|
15
|
+
exports.PickerStepPayloadSchema = zod_1.z.object({
|
|
16
|
+
title: zod_1.z.string(),
|
|
17
|
+
description: zod_1.z.string().nullish(),
|
|
18
|
+
pickerType: zod_1.z.union([exports.PickerTypeEnum, zod_1.z.string()]),
|
|
19
|
+
});
|
|
20
|
+
exports.PickerStepTypeSchema = zod_1.z.object({
|
|
21
|
+
id: zod_1.z.string(),
|
|
22
|
+
type: zod_1.z.literal("Picker"),
|
|
23
|
+
name: zod_1.z.string(),
|
|
24
|
+
displayProgressHeader: zod_1.z.boolean(),
|
|
25
|
+
payload: exports.PickerStepPayloadSchema,
|
|
26
|
+
customPayload: types_1.CustomPayloadSchema,
|
|
27
|
+
continueButtonLabel: zod_1.z.string().optional().default("Continue"),
|
|
28
|
+
figmaUrl: zod_1.z.string().nullish(),
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/UI/Pages/Picker/types.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,oCAA+C;AAElC,QAAA,cAAc,GAAG,OAAC,CAAC,IAAI,CAAC;IACnC,QAAQ;IACR,QAAQ;IACR,KAAK;IACL,MAAM;IACN,QAAQ;IACR,OAAO;IACP,MAAM;CACP,CAAC,CAAC;AAEU,QAAA,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9C,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;IACjC,UAAU,EAAE,OAAC,CAAC,KAAK,CAAC,CAAC,sBAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC;CAClD,CAAC,CAAC;AAEU,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3C,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACzB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,qBAAqB,EAAE,OAAC,CAAC,OAAO,EAAE;IAClC,OAAO,EAAE,+BAAuB;IAChC,aAAa,EAAE,2BAAmB;IAClC,mBAAmB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;IAC9D,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;CAC/B,CAAC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { QuestionStepType } from "./types";
|
|
2
|
+
import { Theme } from "../../Theme/types";
|
|
3
|
+
import { QuestionAnswerButtonProps, QuestionAnswersListProps } from "./components";
|
|
4
|
+
interface QuestionRendererProps {
|
|
5
|
+
step: QuestionStepType;
|
|
6
|
+
onContinue?: (...args: any[]) => void;
|
|
7
|
+
theme?: Theme;
|
|
8
|
+
customComponents?: {
|
|
9
|
+
QuestionAnswerButton?: React.ComponentType<QuestionAnswerButtonProps>;
|
|
10
|
+
QuestionAnswersList?: React.ComponentType<QuestionAnswersListProps>;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export declare const QuestionRenderer: {
|
|
14
|
+
(props: QuestionRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
displayName: string;
|
|
16
|
+
};
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=Renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Renderer.d.ts","sourceRoot":"","sources":["../../../../src/UI/Pages/Question/Renderer.tsx"],"names":[],"mappings":"AACA,OAAO,EAA0B,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAUnE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAGL,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,cAAc,CAAC;AAEtB,UAAU,qBAAqB;IAC7B,IAAI,EAAE,gBAAgB,CAAC;IACvB,UAAU,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACtC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,gBAAgB,CAAC,EAAE;QACjB,oBAAoB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;QACtE,mBAAmB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;KACrE,CAAC;CACH;AAgLD,eAAO,MAAM,gBAAgB;;;CAG5B,CAAC"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.QuestionRenderer = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const types_1 = require("./types");
|
|
7
|
+
const react_native_1 = require("react-native");
|
|
8
|
+
const OnboardingTemplate_1 = require("../../Templates/OnboardingTemplate");
|
|
9
|
+
const helpers_1 = require("../../Theme/helpers");
|
|
10
|
+
const defaultTheme_1 = require("../../Theme/defaultTheme");
|
|
11
|
+
const components_1 = require("./components");
|
|
12
|
+
const QuestionRendererBase = ({ step, onContinue, theme = defaultTheme_1.defaultTheme, customComponents }) => {
|
|
13
|
+
// Validate the schema
|
|
14
|
+
const validatedData = types_1.QuestionStepTypeSchema.parse(step);
|
|
15
|
+
const { title, subtitle, answers, multipleAnswer } = validatedData.payload;
|
|
16
|
+
const [selected, setSelected] = (0, react_1.useState)({});
|
|
17
|
+
const handleContinue = () => {
|
|
18
|
+
if (!onContinue)
|
|
19
|
+
return;
|
|
20
|
+
const selectedAnswers = Object.keys(selected).filter((key) => selected[key]);
|
|
21
|
+
onContinue(multipleAnswer ? selectedAnswers : selectedAnswers[0]);
|
|
22
|
+
};
|
|
23
|
+
const onAnswerSelected = (answer) => {
|
|
24
|
+
if (!onContinue)
|
|
25
|
+
return;
|
|
26
|
+
if (multipleAnswer) {
|
|
27
|
+
toggleSelected(answer);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
onContinue(answer);
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
const toggleSelected = (answer) => {
|
|
34
|
+
const isNoneOfTheAbove = answer === "None of the above";
|
|
35
|
+
setSelected((prev) => {
|
|
36
|
+
if (multipleAnswer) {
|
|
37
|
+
let newSelected;
|
|
38
|
+
if (isNoneOfTheAbove) {
|
|
39
|
+
return { [answer]: true };
|
|
40
|
+
}
|
|
41
|
+
newSelected = Object.assign(Object.assign({}, prev), { [answer]: !prev[answer] });
|
|
42
|
+
if (newSelected["None of the above"]) {
|
|
43
|
+
newSelected["None of the above"] = false;
|
|
44
|
+
}
|
|
45
|
+
return newSelected;
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
return { [answer]: true };
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
const isAnySelected = Object.values(selected).some((value) => value);
|
|
53
|
+
// Priority: Custom full list > Custom button (via DefaultList) > Default implementation
|
|
54
|
+
const AnswersList = (customComponents === null || customComponents === void 0 ? void 0 : customComponents.QuestionAnswersList) || components_1.DefaultQuestionAnswersList;
|
|
55
|
+
const AnswerButton = (customComponents === null || customComponents === void 0 ? void 0 : customComponents.QuestionAnswerButton) || components_1.DefaultQuestionAnswerButton;
|
|
56
|
+
return ((0, jsx_runtime_1.jsx)(OnboardingTemplate_1.OnboardingTemplate, { step: step, onContinue: handleContinue || (() => { }), theme: theme, button: multipleAnswer && isAnySelected ? { text: "Continue" } : undefined, children: (0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.container, children: (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.contentContainer, children: [(0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.headerSection, children: [(0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [
|
|
57
|
+
(0, helpers_1.getTextStyle)(theme, "heading1"),
|
|
58
|
+
styles.title,
|
|
59
|
+
{ color: theme.colors.text.primary },
|
|
60
|
+
], children: title }), Boolean(subtitle === null || subtitle === void 0 ? void 0 : subtitle.length) ? ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [
|
|
61
|
+
(0, helpers_1.getTextStyle)(theme, "body"),
|
|
62
|
+
styles.subtitle,
|
|
63
|
+
{ color: theme.colors.text.secondary },
|
|
64
|
+
], children: subtitle })) : null] }), (0, jsx_runtime_1.jsx)(react_native_1.ScrollView, { style: styles.scrollView, contentContainerStyle: styles.scrollContent, showsVerticalScrollIndicator: false, children: (0, jsx_runtime_1.jsx)(AnswersList, { answers: answers, selected: selected, onAnswerPress: onAnswerSelected, multipleAnswer: multipleAnswer, theme: theme }) })] }) }) }));
|
|
65
|
+
};
|
|
66
|
+
const styles = react_native_1.StyleSheet.create({
|
|
67
|
+
container: {
|
|
68
|
+
flex: 1,
|
|
69
|
+
},
|
|
70
|
+
contentContainer: {
|
|
71
|
+
flex: 1,
|
|
72
|
+
paddingHorizontal: 24,
|
|
73
|
+
paddingTop: 16,
|
|
74
|
+
gap: 40,
|
|
75
|
+
},
|
|
76
|
+
headerSection: {
|
|
77
|
+
gap: 8,
|
|
78
|
+
},
|
|
79
|
+
title: {
|
|
80
|
+
textAlign: "center",
|
|
81
|
+
},
|
|
82
|
+
subtitle: {
|
|
83
|
+
textAlign: "center",
|
|
84
|
+
},
|
|
85
|
+
scrollView: {
|
|
86
|
+
flex: 1,
|
|
87
|
+
},
|
|
88
|
+
scrollContent: {
|
|
89
|
+
flexGrow: 1,
|
|
90
|
+
},
|
|
91
|
+
answersContainer: {
|
|
92
|
+
gap: 10,
|
|
93
|
+
},
|
|
94
|
+
bottomSection: {
|
|
95
|
+
paddingHorizontal: 32,
|
|
96
|
+
paddingBottom: 8,
|
|
97
|
+
gap: 24,
|
|
98
|
+
alignItems: "center",
|
|
99
|
+
},
|
|
100
|
+
continueButton: {
|
|
101
|
+
backgroundColor: "#262626",
|
|
102
|
+
borderRadius: 90,
|
|
103
|
+
paddingVertical: 18,
|
|
104
|
+
paddingHorizontal: 24,
|
|
105
|
+
minWidth: 234,
|
|
106
|
+
alignItems: "center",
|
|
107
|
+
},
|
|
108
|
+
continueButtonDisabled: {
|
|
109
|
+
backgroundColor: "#d1d1d6",
|
|
110
|
+
},
|
|
111
|
+
continueButtonText: {
|
|
112
|
+
fontFamily: "System",
|
|
113
|
+
fontSize: 16,
|
|
114
|
+
fontWeight: "500",
|
|
115
|
+
color: "#ffffff",
|
|
116
|
+
textAlign: "center",
|
|
117
|
+
},
|
|
118
|
+
homeIndicator: {
|
|
119
|
+
width: 148,
|
|
120
|
+
height: 5,
|
|
121
|
+
backgroundColor: "#000000",
|
|
122
|
+
borderRadius: 100,
|
|
123
|
+
opacity: 0.3,
|
|
124
|
+
},
|
|
125
|
+
});
|
|
126
|
+
const ErrorBoundary_1 = require("../../ErrorBoundary");
|
|
127
|
+
exports.QuestionRenderer = (0, ErrorBoundary_1.withErrorBoundary)(QuestionRendererBase, "Question");
|
|
128
|
+
//# sourceMappingURL=Renderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../../../../src/UI/Pages/Question/Renderer.tsx"],"names":[],"mappings":"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"}
|