@rocapine/react-native-onboarding-ui 1.14.0 → 1.16.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 (68) hide show
  1. package/dist/UI/Pages/Carousel/Renderer.d.ts.map +1 -1
  2. package/dist/UI/Pages/Carousel/Renderer.js +13 -12
  3. package/dist/UI/Pages/Carousel/Renderer.js.map +1 -1
  4. package/dist/UI/Pages/Commitment/Renderer.d.ts.map +1 -1
  5. package/dist/UI/Pages/Commitment/Renderer.js +31 -30
  6. package/dist/UI/Pages/Commitment/Renderer.js.map +1 -1
  7. package/dist/UI/Pages/ComposableScreen/Renderer.d.ts.map +1 -1
  8. package/dist/UI/Pages/ComposableScreen/Renderer.js +2 -1
  9. package/dist/UI/Pages/ComposableScreen/Renderer.js.map +1 -1
  10. package/dist/UI/Pages/ComposableScreen/elements/ButtonElement.d.ts +27 -0
  11. package/dist/UI/Pages/ComposableScreen/elements/ButtonElement.d.ts.map +1 -1
  12. package/dist/UI/Pages/ComposableScreen/elements/ButtonElement.js +37 -7
  13. package/dist/UI/Pages/ComposableScreen/elements/ButtonElement.js.map +1 -1
  14. package/dist/UI/Pages/ComposableScreen/elements/SafeAreaViewElement.d.ts +114 -0
  15. package/dist/UI/Pages/ComposableScreen/elements/SafeAreaViewElement.d.ts.map +1 -0
  16. package/dist/UI/Pages/ComposableScreen/elements/SafeAreaViewElement.js +62 -0
  17. package/dist/UI/Pages/ComposableScreen/elements/SafeAreaViewElement.js.map +1 -0
  18. package/dist/UI/Pages/ComposableScreen/elements/renderElement.d.ts.map +1 -1
  19. package/dist/UI/Pages/ComposableScreen/elements/renderElement.js +4 -0
  20. package/dist/UI/Pages/ComposableScreen/elements/renderElement.js.map +1 -1
  21. package/dist/UI/Pages/ComposableScreen/elements/shared.d.ts +2 -0
  22. package/dist/UI/Pages/ComposableScreen/elements/shared.d.ts.map +1 -1
  23. package/dist/UI/Pages/ComposableScreen/elements/shared.js.map +1 -1
  24. package/dist/UI/Pages/ComposableScreen/types.d.ts +8 -0
  25. package/dist/UI/Pages/ComposableScreen/types.d.ts.map +1 -1
  26. package/dist/UI/Pages/ComposableScreen/types.js +8 -0
  27. package/dist/UI/Pages/ComposableScreen/types.js.map +1 -1
  28. package/dist/UI/Pages/Loader/Renderer.d.ts.map +1 -1
  29. package/dist/UI/Pages/Loader/Renderer.js +8 -7
  30. package/dist/UI/Pages/Loader/Renderer.js.map +1 -1
  31. package/dist/UI/Pages/MediaContent/Renderer.d.ts.map +1 -1
  32. package/dist/UI/Pages/MediaContent/Renderer.js +5 -4
  33. package/dist/UI/Pages/MediaContent/Renderer.js.map +1 -1
  34. package/dist/UI/Pages/Picker/Renderer.d.ts.map +1 -1
  35. package/dist/UI/Pages/Picker/Renderer.js +24 -23
  36. package/dist/UI/Pages/Picker/Renderer.js.map +1 -1
  37. package/dist/UI/Pages/Question/Renderer.d.ts.map +1 -1
  38. package/dist/UI/Pages/Question/Renderer.js +13 -12
  39. package/dist/UI/Pages/Question/Renderer.js.map +1 -1
  40. package/dist/UI/Pages/Ratings/Renderer.d.ts.map +1 -1
  41. package/dist/UI/Pages/Ratings/Renderer.js +15 -14
  42. package/dist/UI/Pages/Ratings/Renderer.js.map +1 -1
  43. package/dist/UI/Provider/OnboardingProgressProvider.d.ts +2 -4
  44. package/dist/UI/Provider/OnboardingProgressProvider.d.ts.map +1 -1
  45. package/dist/UI/Provider/OnboardingProgressProvider.js.map +1 -1
  46. package/dist/UI/Templates/OnboardingTemplate.d.ts.map +1 -1
  47. package/dist/UI/Templates/OnboardingTemplate.js +1 -4
  48. package/dist/UI/Templates/OnboardingTemplate.js.map +1 -1
  49. package/dist/index.d.ts +1 -1
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js.map +1 -1
  52. package/package.json +2 -2
  53. package/src/UI/Pages/Carousel/Renderer.tsx +3 -0
  54. package/src/UI/Pages/Commitment/Renderer.tsx +3 -0
  55. package/src/UI/Pages/ComposableScreen/Renderer.tsx +2 -1
  56. package/src/UI/Pages/ComposableScreen/elements/ButtonElement.tsx +57 -6
  57. package/src/UI/Pages/ComposableScreen/elements/SafeAreaViewElement.tsx +93 -0
  58. package/src/UI/Pages/ComposableScreen/elements/renderElement.tsx +5 -0
  59. package/src/UI/Pages/ComposableScreen/elements/shared.ts +2 -0
  60. package/src/UI/Pages/ComposableScreen/types.ts +16 -0
  61. package/src/UI/Pages/Loader/Renderer.tsx +7 -0
  62. package/src/UI/Pages/MediaContent/Renderer.tsx +3 -0
  63. package/src/UI/Pages/Picker/Renderer.tsx +11 -0
  64. package/src/UI/Pages/Question/Renderer.tsx +4 -0
  65. package/src/UI/Pages/Ratings/Renderer.tsx +4 -0
  66. package/src/UI/Provider/OnboardingProgressProvider.tsx +3 -2
  67. package/src/UI/Templates/OnboardingTemplate.tsx +1 -5
  68. package/src/index.ts +5 -0
@@ -1,4 +1,5 @@
1
1
  import { OnboardingTemplate } from "../../Templates/OnboardingTemplate";
2
+ import { SafeAreaView } from "react-native-safe-area-context";
2
3
  import { PickerStepType, PickerStepTypeSchema, WeightUnit, HeightUnit } from "./types";
3
4
  import { View, Text, StyleSheet, TextInput, KeyboardAvoidingView, Platform, TouchableWithoutFeedback, Keyboard } from "react-native";
4
5
  import { useState } from "react";
@@ -86,6 +87,7 @@ const PickerRendererBase = ({ step, onContinue, theme = defaultTheme }: ContentP
86
87
 
87
88
  // Fallback for other picker types (to be implemented)
88
89
  return (
90
+ <SafeAreaView style={{ flex: 1 }} edges={["top", "bottom", "left", "right"]}>
89
91
  <OnboardingTemplate
90
92
  step={step}
91
93
  onContinue={() => onContinue()}
@@ -102,6 +104,7 @@ const PickerRendererBase = ({ step, onContinue, theme = defaultTheme }: ContentP
102
104
  </View>
103
105
  </View>
104
106
  </OnboardingTemplate>
107
+ </SafeAreaView>
105
108
  );
106
109
  };
107
110
 
@@ -145,6 +148,7 @@ const WeightPicker = ({
145
148
  };
146
149
 
147
150
  return (
151
+ <SafeAreaView style={{ flex: 1 }} edges={["top", "bottom", "left", "right"]}>
148
152
  <OnboardingTemplate
149
153
  step={step}
150
154
  onContinue={handleContinue}
@@ -189,6 +193,7 @@ const WeightPicker = ({
189
193
  </View>
190
194
  </View>
191
195
  </OnboardingTemplate>
196
+ </SafeAreaView>
192
197
  );
193
198
  };
194
199
 
@@ -261,6 +266,7 @@ const HeightPicker = ({
261
266
  };
262
267
 
263
268
  return (
269
+ <SafeAreaView style={{ flex: 1 }} edges={["top", "bottom", "left", "right"]}>
264
270
  <OnboardingTemplate
265
271
  step={step}
266
272
  onContinue={handleContinue}
@@ -330,6 +336,7 @@ const HeightPicker = ({
330
336
  </View>
331
337
  </View>
332
338
  </OnboardingTemplate>
339
+ </SafeAreaView>
333
340
  );
334
341
  };
335
342
 
@@ -361,6 +368,7 @@ const NamePicker = ({
361
368
  };
362
369
 
363
370
  return (
371
+ <SafeAreaView style={{ flex: 1 }} edges={["top", "bottom", "left", "right"]}>
364
372
  <KeyboardAvoidingView
365
373
  behavior={Platform.OS === "ios" ? "padding" : "height"}
366
374
  style={{ flex: 1 }}
@@ -412,6 +420,7 @@ const NamePicker = ({
412
420
  </View>
413
421
  </TouchableWithoutFeedback>
414
422
  </KeyboardAvoidingView>
423
+ </SafeAreaView>
415
424
  );
416
425
  };
417
426
 
@@ -476,6 +485,7 @@ const DatePicker = ({
476
485
  };
477
486
 
478
487
  return (
488
+ <SafeAreaView style={{ flex: 1 }} edges={["top", "bottom", "left", "right"]}>
479
489
  <OnboardingTemplate
480
490
  step={step}
481
491
  onContinue={handleContinue}
@@ -531,6 +541,7 @@ const DatePicker = ({
531
541
  </View>
532
542
  </View>
533
543
  </OnboardingTemplate>
544
+ </SafeAreaView>
534
545
  );
535
546
  };
536
547
 
@@ -8,6 +8,7 @@ import {
8
8
  StyleSheet,
9
9
  } from "react-native";
10
10
  import { OnboardingTemplate } from "../../Templates/OnboardingTemplate";
11
+ import { SafeAreaView } from "react-native-safe-area-context";
11
12
  import { getTextStyle } from "../../Theme/helpers";
12
13
  import { Theme } from "../../Theme/types";
13
14
  import { defaultTheme } from "../../Theme/defaultTheme";
@@ -86,6 +87,7 @@ const QuestionRendererBase = ({ step, onContinue, theme = defaultTheme, customCo
86
87
  customComponents?.QuestionAnswerButton || DefaultQuestionAnswerButton;
87
88
 
88
89
  return (
90
+ <SafeAreaView style={{ flex: 1 }} edges={["top", "bottom"]}>
89
91
  <OnboardingTemplate
90
92
  step={step}
91
93
  onContinue={handleContinue || (() => { })}
@@ -127,6 +129,7 @@ const QuestionRendererBase = ({ step, onContinue, theme = defaultTheme, customCo
127
129
  style={styles.scrollView}
128
130
  contentContainerStyle={styles.scrollContent}
129
131
  showsVerticalScrollIndicator={false}
132
+ alwaysBounceVertical={false}
130
133
  >
131
134
  <AnswersList
132
135
  answers={answers}
@@ -139,6 +142,7 @@ const QuestionRendererBase = ({ step, onContinue, theme = defaultTheme, customCo
139
142
  </View>
140
143
  </View>
141
144
  </OnboardingTemplate>
145
+ </SafeAreaView>
142
146
  );
143
147
  };
144
148
 
@@ -1,6 +1,7 @@
1
1
  import { Image, ScrollView, StyleSheet, Text, View } from "react-native";
2
2
  import Svg, { Path } from "react-native-svg";
3
3
  import { OnboardingTemplate } from "../../Templates/OnboardingTemplate";
4
+ import { SafeAreaView } from "react-native-safe-area-context";
4
5
  import { RatingsStepType, RatingsStepTypeSchema } from "./types";
5
6
  import { useState } from "react";
6
7
  import { Theme } from "../../Theme/types";
@@ -76,6 +77,7 @@ const RatingsRendererBase = ({ step, onContinue, theme = defaultTheme }: Ratings
76
77
  };
77
78
 
78
79
  return (
80
+ <SafeAreaView style={{ flex: 1 }} edges={["top", "bottom"]}>
79
81
  <OnboardingTemplate
80
82
  step={step}
81
83
  onContinue={handlePress}
@@ -92,6 +94,7 @@ const RatingsRendererBase = ({ step, onContinue, theme = defaultTheme }: Ratings
92
94
  <ScrollView
93
95
  contentContainerStyle={styles.scrollContent}
94
96
  showsVerticalScrollIndicator={false}
97
+ alwaysBounceVertical={false}
95
98
  >
96
99
  {/* Award Section */}
97
100
  <View style={styles.awardSection}>
@@ -168,6 +171,7 @@ const RatingsRendererBase = ({ step, onContinue, theme = defaultTheme }: Ratings
168
171
  </ScrollView>
169
172
  </View>
170
173
  </OnboardingTemplate>
174
+ </SafeAreaView>
171
175
  );
172
176
  };
173
177
 
@@ -1,8 +1,11 @@
1
1
  import { createContext, useState, useCallback } from "react";
2
2
  import { SafeAreaProvider } from "react-native-safe-area-context";
3
+ import type { ComposableVariableEntry } from "@rocapine/react-native-onboarding";
3
4
  import { ThemeProvider } from "../Theme/ThemeProvider";
4
5
  import { ColorScheme } from "../Theme/types";
5
6
 
7
+ export type { ComposableVariableEntry };
8
+
6
9
  export const OnboardingProgressProvider = ({
7
10
  children,
8
11
  initialColorScheme = "light",
@@ -35,8 +38,6 @@ export const OnboardingProgressProvider = ({
35
38
  );
36
39
  };
37
40
 
38
- export type ComposableVariableEntry = { value: string; label?: string };
39
-
40
41
  export const OnboardingProgressContext = createContext({
41
42
  activeStep: { number: 0, displayProgressHeader: false },
42
43
  setActiveStep: (_step: {
@@ -1,6 +1,5 @@
1
1
  import { StyleSheet, Text, TouchableOpacity, View } from "react-native";
2
2
  import { OnboardingStepType } from "../types";
3
- import { useSafeAreaInsets } from "react-native-safe-area-context";
4
3
  import { getTextStyle } from "../Theme/helpers";
5
4
  import { Theme } from "../Theme/types";
6
5
  import { defaultTheme } from "../Theme/defaultTheme";
@@ -60,16 +59,13 @@ export const OnboardingTemplate = ({
60
59
  button,
61
60
  theme = defaultTheme,
62
61
  }: OnboardingTemplateProps) => {
63
- const { top, bottom } = useSafeAreaInsets();
64
-
65
62
  return (
66
63
  <View
67
64
  style={[
68
65
  styles.container,
69
66
  {
70
67
  backgroundColor: theme.colors.neutral.lowest,
71
- paddingTop: step.displayProgressHeader ? top + 40 : top,
72
- paddingBottom: bottom
68
+ paddingTop: step.displayProgressHeader ? 40 : 0,
73
69
  },
74
70
  ]}
75
71
  >
package/src/index.ts CHANGED
@@ -4,6 +4,11 @@ export type {
4
4
  Onboarding,
5
5
  OnboardingMetadata,
6
6
  OnboardingStudioClientOptions,
7
+ CustomActionHandler,
8
+ CustomActions,
9
+ ButtonAction,
10
+ CustomButtonAction,
11
+ ComposableVariableEntry,
7
12
  } from "@rocapine/react-native-onboarding";
8
13
 
9
14
  // UI Components and Router