@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.
Files changed (275) hide show
  1. package/dist/UI/Components/CircularProgress.d.ts +8 -0
  2. package/dist/UI/Components/CircularProgress.d.ts.map +1 -0
  3. package/dist/UI/Components/CircularProgress.js +104 -0
  4. package/dist/UI/Components/CircularProgress.js.map +1 -0
  5. package/dist/UI/Components/ProgressBar.d.ts +12 -0
  6. package/dist/UI/Components/ProgressBar.d.ts.map +1 -0
  7. package/dist/UI/Components/ProgressBar.js +121 -0
  8. package/dist/UI/Components/ProgressBar.js.map +1 -0
  9. package/dist/UI/Components/StaggeredTextList.d.ts +11 -0
  10. package/dist/UI/Components/StaggeredTextList.d.ts.map +1 -0
  11. package/dist/UI/Components/StaggeredTextList.js +111 -0
  12. package/dist/UI/Components/StaggeredTextList.js.map +1 -0
  13. package/dist/UI/Components/index.d.ts +4 -0
  14. package/dist/UI/Components/index.d.ts.map +1 -0
  15. package/dist/UI/Components/index.js +20 -0
  16. package/dist/UI/Components/index.js.map +1 -0
  17. package/dist/UI/ErrorBoundary/ErrorBoundary.d.ts +19 -0
  18. package/dist/UI/ErrorBoundary/ErrorBoundary.d.ts.map +1 -0
  19. package/dist/UI/ErrorBoundary/ErrorBoundary.js +123 -0
  20. package/dist/UI/ErrorBoundary/ErrorBoundary.js.map +1 -0
  21. package/dist/UI/ErrorBoundary/index.d.ts +3 -0
  22. package/dist/UI/ErrorBoundary/index.d.ts.map +1 -0
  23. package/dist/UI/ErrorBoundary/index.js +8 -0
  24. package/dist/UI/ErrorBoundary/index.js.map +1 -0
  25. package/dist/UI/ErrorBoundary/withErrorBoundary.d.ts +6 -0
  26. package/dist/UI/ErrorBoundary/withErrorBoundary.d.ts.map +1 -0
  27. package/dist/UI/ErrorBoundary/withErrorBoundary.js +13 -0
  28. package/dist/UI/ErrorBoundary/withErrorBoundary.js.map +1 -0
  29. package/dist/UI/OnboardingPage.d.ts +16 -0
  30. package/dist/UI/OnboardingPage.d.ts.map +1 -0
  31. package/dist/UI/OnboardingPage.js +38 -0
  32. package/dist/UI/OnboardingPage.js.map +1 -0
  33. package/dist/UI/Pages/Carousel/Renderer.d.ts +13 -0
  34. package/dist/UI/Pages/Carousel/Renderer.d.ts.map +1 -0
  35. package/dist/UI/Pages/Carousel/Renderer.js +121 -0
  36. package/dist/UI/Pages/Carousel/Renderer.js.map +1 -0
  37. package/dist/UI/Pages/Carousel/index.d.ts +3 -0
  38. package/dist/UI/Pages/Carousel/index.d.ts.map +1 -0
  39. package/dist/UI/Pages/Carousel/index.js +19 -0
  40. package/dist/UI/Pages/Carousel/index.js.map +1 -0
  41. package/dist/UI/Pages/Carousel/types.d.ts +32 -0
  42. package/dist/UI/Pages/Carousel/types.d.ts.map +1 -0
  43. package/dist/UI/Pages/Carousel/types.js +24 -0
  44. package/dist/UI/Pages/Carousel/types.js.map +1 -0
  45. package/dist/UI/Pages/Commitment/Renderer.d.ts +13 -0
  46. package/dist/UI/Pages/Commitment/Renderer.d.ts.map +1 -0
  47. package/dist/UI/Pages/Commitment/Renderer.js +173 -0
  48. package/dist/UI/Pages/Commitment/Renderer.js.map +1 -0
  49. package/dist/UI/Pages/Commitment/index.d.ts +3 -0
  50. package/dist/UI/Pages/Commitment/index.d.ts.map +1 -0
  51. package/dist/UI/Pages/Commitment/index.js +19 -0
  52. package/dist/UI/Pages/Commitment/index.js.map +1 -0
  53. package/dist/UI/Pages/Commitment/types.d.ts +41 -0
  54. package/dist/UI/Pages/Commitment/types.d.ts.map +1 -0
  55. package/dist/UI/Pages/Commitment/types.js +27 -0
  56. package/dist/UI/Pages/Commitment/types.js.map +1 -0
  57. package/dist/UI/Pages/Loader/Renderer.d.ts +10 -0
  58. package/dist/UI/Pages/Loader/Renderer.d.ts.map +1 -0
  59. package/dist/UI/Pages/Loader/Renderer.js +215 -0
  60. package/dist/UI/Pages/Loader/Renderer.js.map +1 -0
  61. package/dist/UI/Pages/Loader/index.d.ts +3 -0
  62. package/dist/UI/Pages/Loader/index.d.ts.map +1 -0
  63. package/dist/UI/Pages/Loader/index.js +19 -0
  64. package/dist/UI/Pages/Loader/index.js.map +1 -0
  65. package/dist/UI/Pages/Loader/types.d.ts +57 -0
  66. package/dist/UI/Pages/Loader/types.d.ts.map +1 -0
  67. package/dist/UI/Pages/Loader/types.js +30 -0
  68. package/dist/UI/Pages/Loader/types.js.map +1 -0
  69. package/dist/UI/Pages/MediaContent/Renderer.d.ts +13 -0
  70. package/dist/UI/Pages/MediaContent/Renderer.d.ts.map +1 -0
  71. package/dist/UI/Pages/MediaContent/Renderer.js +76 -0
  72. package/dist/UI/Pages/MediaContent/Renderer.js.map +1 -0
  73. package/dist/UI/Pages/MediaContent/index.d.ts +3 -0
  74. package/dist/UI/Pages/MediaContent/index.d.ts.map +1 -0
  75. package/dist/UI/Pages/MediaContent/index.js +19 -0
  76. package/dist/UI/Pages/MediaContent/index.js.map +1 -0
  77. package/dist/UI/Pages/MediaContent/types.d.ts +44 -0
  78. package/dist/UI/Pages/MediaContent/types.d.ts.map +1 -0
  79. package/dist/UI/Pages/MediaContent/types.js +22 -0
  80. package/dist/UI/Pages/MediaContent/types.js.map +1 -0
  81. package/dist/UI/Pages/Picker/Renderer.d.ts +13 -0
  82. package/dist/UI/Pages/Picker/Renderer.d.ts.map +1 -0
  83. package/dist/UI/Pages/Picker/Renderer.js +268 -0
  84. package/dist/UI/Pages/Picker/Renderer.js.map +1 -0
  85. package/dist/UI/Pages/Picker/index.d.ts +3 -0
  86. package/dist/UI/Pages/Picker/index.d.ts.map +1 -0
  87. package/dist/UI/Pages/Picker/index.js +19 -0
  88. package/dist/UI/Pages/Picker/index.js.map +1 -0
  89. package/dist/UI/Pages/Picker/types.d.ts +49 -0
  90. package/dist/UI/Pages/Picker/types.d.ts.map +1 -0
  91. package/dist/UI/Pages/Picker/types.js +30 -0
  92. package/dist/UI/Pages/Picker/types.js.map +1 -0
  93. package/dist/UI/Pages/Question/Renderer.d.ts +18 -0
  94. package/dist/UI/Pages/Question/Renderer.d.ts.map +1 -0
  95. package/dist/UI/Pages/Question/Renderer.js +128 -0
  96. package/dist/UI/Pages/Question/Renderer.js.map +1 -0
  97. package/dist/UI/Pages/Question/components.d.ts +57 -0
  98. package/dist/UI/Pages/Question/components.d.ts.map +1 -0
  99. package/dist/UI/Pages/Question/components.js +57 -0
  100. package/dist/UI/Pages/Question/components.js.map +1 -0
  101. package/dist/UI/Pages/Question/index.d.ts +4 -0
  102. package/dist/UI/Pages/Question/index.d.ts.map +1 -0
  103. package/dist/UI/Pages/Question/index.js +20 -0
  104. package/dist/UI/Pages/Question/index.js.map +1 -0
  105. package/dist/UI/Pages/Question/types.d.ts +47 -0
  106. package/dist/UI/Pages/Question/types.d.ts.map +1 -0
  107. package/dist/UI/Pages/Question/types.js +28 -0
  108. package/dist/UI/Pages/Question/types.js.map +1 -0
  109. package/dist/UI/Pages/Ratings/Renderer.d.ts +13 -0
  110. package/dist/UI/Pages/Ratings/Renderer.d.ts.map +1 -0
  111. package/dist/UI/Pages/Ratings/Renderer.js +201 -0
  112. package/dist/UI/Pages/Ratings/Renderer.js.map +1 -0
  113. package/dist/UI/Pages/Ratings/index.d.ts +3 -0
  114. package/dist/UI/Pages/Ratings/index.d.ts.map +1 -0
  115. package/dist/UI/Pages/Ratings/index.js +19 -0
  116. package/dist/UI/Pages/Ratings/index.js.map +1 -0
  117. package/dist/UI/Pages/Ratings/types.d.ts +32 -0
  118. package/dist/UI/Pages/Ratings/types.d.ts.map +1 -0
  119. package/dist/UI/Pages/Ratings/types.js +25 -0
  120. package/dist/UI/Pages/Ratings/types.js.map +1 -0
  121. package/dist/UI/Pages/index.d.ts +9 -0
  122. package/dist/UI/Pages/index.d.ts.map +1 -0
  123. package/dist/UI/Pages/index.js +26 -0
  124. package/dist/UI/Pages/index.js.map +1 -0
  125. package/dist/UI/Pages/types.d.ts +19 -0
  126. package/dist/UI/Pages/types.d.ts.map +1 -0
  127. package/dist/UI/Pages/types.js +25 -0
  128. package/dist/UI/Pages/types.js.map +1 -0
  129. package/dist/UI/Provider/OnboardingProgressProvider.d.ts +18 -0
  130. package/dist/UI/Provider/OnboardingProgressProvider.d.ts.map +1 -0
  131. package/dist/UI/Provider/OnboardingProgressProvider.js +23 -0
  132. package/dist/UI/Provider/OnboardingProgressProvider.js.map +1 -0
  133. package/dist/UI/Provider/index.d.ts +2 -0
  134. package/dist/UI/Provider/index.d.ts.map +1 -0
  135. package/dist/UI/Provider/index.js +7 -0
  136. package/dist/UI/Provider/index.js.map +1 -0
  137. package/dist/UI/Templates/OnboardingTemplate.d.ts +15 -0
  138. package/dist/UI/Templates/OnboardingTemplate.d.ts.map +1 -0
  139. package/dist/UI/Templates/OnboardingTemplate.js +48 -0
  140. package/dist/UI/Templates/OnboardingTemplate.js.map +1 -0
  141. package/dist/UI/Templates/index.d.ts +2 -0
  142. package/dist/UI/Templates/index.d.ts.map +1 -0
  143. package/dist/UI/Templates/index.js +6 -0
  144. package/dist/UI/Templates/index.js.map +1 -0
  145. package/dist/UI/Theme/ThemeProvider.d.ts +27 -0
  146. package/dist/UI/Theme/ThemeProvider.d.ts.map +1 -0
  147. package/dist/UI/Theme/ThemeProvider.js +49 -0
  148. package/dist/UI/Theme/ThemeProvider.js.map +1 -0
  149. package/dist/UI/Theme/defaultTheme.d.ts +7 -0
  150. package/dist/UI/Theme/defaultTheme.d.ts.map +1 -0
  151. package/dist/UI/Theme/defaultTheme.js +14 -0
  152. package/dist/UI/Theme/defaultTheme.js.map +1 -0
  153. package/dist/UI/Theme/helpers.d.ts +12 -0
  154. package/dist/UI/Theme/helpers.d.ts.map +1 -0
  155. package/dist/UI/Theme/helpers.js +21 -0
  156. package/dist/UI/Theme/helpers.js.map +1 -0
  157. package/dist/UI/Theme/index.d.ts +8 -0
  158. package/dist/UI/Theme/index.d.ts.map +1 -0
  159. package/dist/UI/Theme/index.js +24 -0
  160. package/dist/UI/Theme/index.js.map +1 -0
  161. package/dist/UI/Theme/token.d.ts +107 -0
  162. package/dist/UI/Theme/token.d.ts.map +1 -0
  163. package/dist/UI/Theme/token.js +108 -0
  164. package/dist/UI/Theme/token.js.map +1 -0
  165. package/dist/UI/Theme/tokens/darkTokens.d.ts +24 -0
  166. package/dist/UI/Theme/tokens/darkTokens.d.ts.map +1 -0
  167. package/dist/UI/Theme/tokens/darkTokens.js +27 -0
  168. package/dist/UI/Theme/tokens/darkTokens.js.map +1 -0
  169. package/dist/UI/Theme/tokens/index.d.ts +4 -0
  170. package/dist/UI/Theme/tokens/index.d.ts.map +1 -0
  171. package/dist/UI/Theme/tokens/index.js +20 -0
  172. package/dist/UI/Theme/tokens/index.js.map +1 -0
  173. package/dist/UI/Theme/tokens/lightTokens.d.ts +24 -0
  174. package/dist/UI/Theme/tokens/lightTokens.d.ts.map +1 -0
  175. package/dist/UI/Theme/tokens/lightTokens.js +27 -0
  176. package/dist/UI/Theme/tokens/lightTokens.js.map +1 -0
  177. package/dist/UI/Theme/tokens/typography.d.ts +65 -0
  178. package/dist/UI/Theme/tokens/typography.d.ts.map +1 -0
  179. package/dist/UI/Theme/tokens/typography.js +68 -0
  180. package/dist/UI/Theme/tokens/typography.js.map +1 -0
  181. package/dist/UI/Theme/types.d.ts +65 -0
  182. package/dist/UI/Theme/types.d.ts.map +1 -0
  183. package/dist/UI/Theme/types.js +3 -0
  184. package/dist/UI/Theme/types.js.map +1 -0
  185. package/dist/UI/Theme/useTheme.d.ts +7 -0
  186. package/dist/UI/Theme/useTheme.d.ts.map +1 -0
  187. package/dist/UI/Theme/useTheme.js +23 -0
  188. package/dist/UI/Theme/useTheme.js.map +1 -0
  189. package/dist/UI/Theme/utils.d.ts +12 -0
  190. package/dist/UI/Theme/utils.d.ts.map +1 -0
  191. package/dist/UI/Theme/utils.js +55 -0
  192. package/dist/UI/Theme/utils.js.map +1 -0
  193. package/dist/UI/index.d.ts +8 -0
  194. package/dist/UI/index.d.ts.map +1 -0
  195. package/dist/UI/index.js +24 -0
  196. package/dist/UI/index.js.map +1 -0
  197. package/dist/UI/types.d.ts +23 -0
  198. package/dist/UI/types.d.ts.map +1 -0
  199. package/dist/UI/types.js +3 -0
  200. package/dist/UI/types.js.map +1 -0
  201. package/dist/assets/laurel-left.png +0 -0
  202. package/dist/assets/laurel-right.png +0 -0
  203. package/dist/assets/star-filled.png +0 -0
  204. package/dist/index.d.ts +9 -0
  205. package/dist/index.d.ts.map +1 -0
  206. package/dist/index.js +33 -0
  207. package/dist/index.js.map +1 -0
  208. package/dist/provider/CustomComponentsContext.d.ts +57 -0
  209. package/dist/provider/CustomComponentsContext.d.ts.map +1 -0
  210. package/dist/provider/CustomComponentsContext.js +19 -0
  211. package/dist/provider/CustomComponentsContext.js.map +1 -0
  212. package/dist/provider/OnboardingUIProvider.d.ts +44 -0
  213. package/dist/provider/OnboardingUIProvider.d.ts.map +1 -0
  214. package/dist/provider/OnboardingUIProvider.js +33 -0
  215. package/dist/provider/OnboardingUIProvider.js.map +1 -0
  216. package/dist/provider/OnboardingUIProvider.old.d.ts +60 -0
  217. package/dist/provider/OnboardingUIProvider.old.d.ts.map +1 -0
  218. package/dist/provider/OnboardingUIProvider.old.js +53 -0
  219. package/dist/provider/OnboardingUIProvider.old.js.map +1 -0
  220. package/package.json +77 -0
  221. package/src/UI/Components/CircularProgress.tsx +146 -0
  222. package/src/UI/Components/ProgressBar.tsx +143 -0
  223. package/src/UI/Components/StaggeredTextList.tsx +152 -0
  224. package/src/UI/Components/index.ts +3 -0
  225. package/src/UI/ErrorBoundary/ErrorBoundary.tsx +181 -0
  226. package/src/UI/ErrorBoundary/README.md +71 -0
  227. package/src/UI/ErrorBoundary/index.ts +2 -0
  228. package/src/UI/ErrorBoundary/withErrorBoundary.tsx +19 -0
  229. package/src/UI/OnboardingPage.tsx +53 -0
  230. package/src/UI/Pages/Carousel/Renderer.tsx +210 -0
  231. package/src/UI/Pages/Carousel/index.ts +2 -0
  232. package/src/UI/Pages/Carousel/types.ts +26 -0
  233. package/src/UI/Pages/Commitment/Renderer.tsx +312 -0
  234. package/src/UI/Pages/Commitment/index.ts +2 -0
  235. package/src/UI/Pages/Commitment/types.ts +28 -0
  236. package/src/UI/Pages/Loader/Renderer.tsx +417 -0
  237. package/src/UI/Pages/Loader/index.ts +2 -0
  238. package/src/UI/Pages/Loader/types.ts +32 -0
  239. package/src/UI/Pages/MediaContent/Renderer.tsx +130 -0
  240. package/src/UI/Pages/MediaContent/index.ts +2 -0
  241. package/src/UI/Pages/MediaContent/types.ts +26 -0
  242. package/src/UI/Pages/Picker/Renderer.tsx +618 -0
  243. package/src/UI/Pages/Picker/index.ts +2 -0
  244. package/src/UI/Pages/Picker/types.ts +34 -0
  245. package/src/UI/Pages/Question/Renderer.tsx +208 -0
  246. package/src/UI/Pages/Question/components.tsx +130 -0
  247. package/src/UI/Pages/Question/index.ts +3 -0
  248. package/src/UI/Pages/Question/types.ts +29 -0
  249. package/src/UI/Pages/Ratings/Renderer.tsx +282 -0
  250. package/src/UI/Pages/Ratings/index.ts +2 -0
  251. package/src/UI/Pages/Ratings/types.ts +22 -0
  252. package/src/UI/Pages/index.ts +10 -0
  253. package/src/UI/Pages/types.ts +25 -0
  254. package/src/UI/Provider/OnboardingProgressProvider.tsx +40 -0
  255. package/src/UI/Provider/index.ts +1 -0
  256. package/src/UI/Templates/OnboardingTemplate.tsx +86 -0
  257. package/src/UI/Templates/index.ts +1 -0
  258. package/src/UI/Theme/ThemeProvider.tsx +100 -0
  259. package/src/UI/Theme/defaultTheme.ts +12 -0
  260. package/src/UI/Theme/helpers.ts +24 -0
  261. package/src/UI/Theme/index.ts +7 -0
  262. package/src/UI/Theme/token.ts +106 -0
  263. package/src/UI/Theme/tokens/darkTokens.ts +25 -0
  264. package/src/UI/Theme/tokens/index.ts +3 -0
  265. package/src/UI/Theme/tokens/lightTokens.ts +25 -0
  266. package/src/UI/Theme/tokens/typography.ts +66 -0
  267. package/src/UI/Theme/types.ts +72 -0
  268. package/src/UI/Theme/useTheme.ts +22 -0
  269. package/src/UI/Theme/utils.ts +67 -0
  270. package/src/UI/index.ts +7 -0
  271. package/src/UI/types.ts +41 -0
  272. package/src/assets/laurel-left.png +0 -0
  273. package/src/assets/laurel-right.png +0 -0
  274. package/src/assets/star-filled.png +0 -0
  275. 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,3 @@
1
+ export * from "./Renderer";
2
+ export * from "./types";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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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"}