@rocapine/react-native-onboarding 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 (110) hide show
  1. package/README.md +216 -0
  2. package/dist/OnboardingStudioClient.d.ts +13 -0
  3. package/dist/OnboardingStudioClient.d.ts.map +1 -0
  4. package/dist/OnboardingStudioClient.js +71 -0
  5. package/dist/OnboardingStudioClient.js.map +1 -0
  6. package/dist/index.d.ts +4 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +24 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/infra/hooks/index.d.ts +3 -0
  11. package/dist/infra/hooks/index.d.ts.map +1 -0
  12. package/dist/infra/hooks/index.js +8 -0
  13. package/dist/infra/hooks/index.js.map +1 -0
  14. package/dist/infra/hooks/useOnboarding.d.ts +6 -0
  15. package/dist/infra/hooks/useOnboarding.d.ts.map +1 -0
  16. package/dist/infra/hooks/useOnboarding.js +17 -0
  17. package/dist/infra/hooks/useOnboarding.js.map +1 -0
  18. package/dist/infra/hooks/useOnboarding.old.d.ts +7 -0
  19. package/dist/infra/hooks/useOnboarding.old.d.ts.map +1 -0
  20. package/dist/infra/hooks/useOnboarding.old.js +20 -0
  21. package/dist/infra/hooks/useOnboarding.old.js.map +1 -0
  22. package/dist/infra/hooks/useOnboardingStep.d.ts +12 -0
  23. package/dist/infra/hooks/useOnboardingStep.d.ts.map +1 -0
  24. package/dist/infra/hooks/useOnboardingStep.js +37 -0
  25. package/dist/infra/hooks/useOnboardingStep.js.map +1 -0
  26. package/dist/infra/hooks/useOnboardingStep.old.d.ts +12 -0
  27. package/dist/infra/hooks/useOnboardingStep.old.d.ts.map +1 -0
  28. package/dist/infra/hooks/useOnboardingStep.old.js +37 -0
  29. package/dist/infra/hooks/useOnboardingStep.old.js.map +1 -0
  30. package/dist/infra/index.d.ts +3 -0
  31. package/dist/infra/index.d.ts.map +1 -0
  32. package/dist/infra/index.js +19 -0
  33. package/dist/infra/index.js.map +1 -0
  34. package/dist/infra/provider/OnboardingProvider.d.ts +29 -0
  35. package/dist/infra/provider/OnboardingProvider.d.ts.map +1 -0
  36. package/dist/infra/provider/OnboardingProvider.js +48 -0
  37. package/dist/infra/provider/OnboardingProvider.js.map +1 -0
  38. package/dist/infra/provider/OnboardingProvider.old.d.ts +61 -0
  39. package/dist/infra/provider/OnboardingProvider.old.d.ts.map +1 -0
  40. package/dist/infra/provider/OnboardingProvider.old.js +55 -0
  41. package/dist/infra/provider/OnboardingProvider.old.js.map +1 -0
  42. package/dist/infra/provider/index.d.ts +2 -0
  43. package/dist/infra/provider/index.d.ts.map +1 -0
  44. package/dist/infra/provider/index.js +7 -0
  45. package/dist/infra/provider/index.js.map +1 -0
  46. package/dist/infra/queries/getOnboarding.query.d.ts +8 -0
  47. package/dist/infra/queries/getOnboarding.query.d.ts.map +1 -0
  48. package/dist/infra/queries/getOnboarding.query.js +52 -0
  49. package/dist/infra/queries/getOnboarding.query.js.map +1 -0
  50. package/dist/steps/Carousel/types.d.ts +32 -0
  51. package/dist/steps/Carousel/types.d.ts.map +1 -0
  52. package/dist/steps/Carousel/types.js +24 -0
  53. package/dist/steps/Carousel/types.js.map +1 -0
  54. package/dist/steps/Commitment/types.d.ts +41 -0
  55. package/dist/steps/Commitment/types.d.ts.map +1 -0
  56. package/dist/steps/Commitment/types.js +27 -0
  57. package/dist/steps/Commitment/types.js.map +1 -0
  58. package/dist/steps/Loader/types.d.ts +57 -0
  59. package/dist/steps/Loader/types.d.ts.map +1 -0
  60. package/dist/steps/Loader/types.js +30 -0
  61. package/dist/steps/Loader/types.js.map +1 -0
  62. package/dist/steps/MediaContent/types.d.ts +44 -0
  63. package/dist/steps/MediaContent/types.d.ts.map +1 -0
  64. package/dist/steps/MediaContent/types.js +22 -0
  65. package/dist/steps/MediaContent/types.js.map +1 -0
  66. package/dist/steps/Picker/types.d.ts +49 -0
  67. package/dist/steps/Picker/types.d.ts.map +1 -0
  68. package/dist/steps/Picker/types.js +30 -0
  69. package/dist/steps/Picker/types.js.map +1 -0
  70. package/dist/steps/Question/types.d.ts +47 -0
  71. package/dist/steps/Question/types.d.ts.map +1 -0
  72. package/dist/steps/Question/types.js +28 -0
  73. package/dist/steps/Question/types.js.map +1 -0
  74. package/dist/steps/Ratings/types.d.ts +32 -0
  75. package/dist/steps/Ratings/types.d.ts.map +1 -0
  76. package/dist/steps/Ratings/types.js +25 -0
  77. package/dist/steps/Ratings/types.js.map +1 -0
  78. package/dist/steps/common.types.d.ts +19 -0
  79. package/dist/steps/common.types.d.ts.map +1 -0
  80. package/dist/steps/common.types.js +25 -0
  81. package/dist/steps/common.types.js.map +1 -0
  82. package/dist/steps/types.d.ts +9 -0
  83. package/dist/steps/types.d.ts.map +1 -0
  84. package/dist/steps/types.js +3 -0
  85. package/dist/steps/types.js.map +1 -0
  86. package/dist/types.d.ts +46 -0
  87. package/dist/types.d.ts.map +1 -0
  88. package/dist/types.js +3 -0
  89. package/dist/types.js.map +1 -0
  90. package/package.json +48 -0
  91. package/src/OnboardingStudioClient.ts +92 -0
  92. package/src/global.d.ts +41 -0
  93. package/src/index.ts +6 -0
  94. package/src/infra/hooks/index.ts +2 -0
  95. package/src/infra/hooks/useOnboarding.ts +16 -0
  96. package/src/infra/hooks/useOnboardingStep.ts +66 -0
  97. package/src/infra/index.ts +2 -0
  98. package/src/infra/provider/OnboardingProvider.tsx +80 -0
  99. package/src/infra/provider/index.ts +4 -0
  100. package/src/infra/queries/getOnboarding.query.ts +58 -0
  101. package/src/steps/Carousel/types.ts +26 -0
  102. package/src/steps/Commitment/types.ts +28 -0
  103. package/src/steps/Loader/types.ts +32 -0
  104. package/src/steps/MediaContent/types.ts +26 -0
  105. package/src/steps/Picker/types.ts +34 -0
  106. package/src/steps/Question/types.ts +29 -0
  107. package/src/steps/Ratings/types.ts +22 -0
  108. package/src/steps/common.types.ts +25 -0
  109. package/src/steps/types.ts +16 -0
  110. package/src/types.ts +51 -0
package/README.md ADDED
@@ -0,0 +1,216 @@
1
+ # @rocapine/react-native-onboarding-studio
2
+
3
+ **A CMS-driven onboarding system for React Native mobile apps.**
4
+
5
+ Build beautiful, customizable onboarding flows that update instantly without app releases.
6
+
7
+ ---
8
+
9
+ ## ✨ Features
10
+
11
+ - 🎨 **Pre-built Components** - Ready-to-use screens (ratings, pickers, carousels, media content, and more)
12
+ - 🔄 **CMS-Driven** - Update onboarding flows remotely without app releases
13
+ - 📱 **React Native** - Works with Expo and bare React Native projects
14
+ - 🎯 **Type-Safe** - Full TypeScript support with runtime validation
15
+ - 💾 **Offline Support** - Built-in caching with AsyncStorage
16
+ - 🎭 **Themeable** - Customizable colors, typography, and styling
17
+ - 🔧 **Extensible** - Three levels of customization from theme tokens to complete renderer overrides
18
+
19
+ ---
20
+
21
+ ## 🚀 Quick Start
22
+
23
+ ### Installation
24
+
25
+ ```bash
26
+ npm install @rocapine/react-native-onboarding-studio
27
+ npx expo install expo-router
28
+ ```
29
+
30
+ ### Setup
31
+
32
+ ```typescript
33
+ import {
34
+ OnboardingProvider,
35
+ OnboardingStudioClient,
36
+ ProgressBar,
37
+ } from "@rocapine/react-native-onboarding-studio";
38
+
39
+ const client = new OnboardingStudioClient("your-project-id", {
40
+ appVersion: "1.0.0",
41
+ });
42
+
43
+ export default function RootLayout() {
44
+ return (
45
+ <OnboardingProvider
46
+ client={client}
47
+ locale="en"
48
+ customAudienceParams={{ onboardingId: "your-onboarding-id" }}
49
+ >
50
+ <ProgressBar />
51
+ <YourApp />
52
+ </OnboardingProvider>
53
+ );
54
+ }
55
+ ```
56
+
57
+ ### Use in Your Screens
58
+
59
+ ```typescript
60
+ import {
61
+ useOnboardingQuestions,
62
+ OnboardingPage,
63
+ } from "@rocapine/react-native-onboarding-studio";
64
+
65
+ export default function OnboardingScreen() {
66
+ const { step, isLastStep } = useOnboardingQuestions({ stepNumber: 1 });
67
+
68
+ const handleContinue = () => {
69
+ if (isLastStep) {
70
+ router.push("/home");
71
+ } else {
72
+ router.push(`/onboarding/${stepNumber + 1}`);
73
+ }
74
+ };
75
+
76
+ return <OnboardingPage step={step} onContinue={handleContinue} />;
77
+ }
78
+ ```
79
+
80
+ That's it! 🎉
81
+
82
+ ---
83
+
84
+ ## 📚 Documentation
85
+
86
+ ### For SDK Users
87
+
88
+ Complete documentation for using the SDK in your app:
89
+
90
+ - **[Getting Started](./docs/getting-started.mdx)** - Installation, setup, and your first onboarding flow
91
+ - **[Core Concepts](./docs/core-concepts.mdx)** - How the SDK works, caching, progress tracking
92
+ - **[API Reference](./docs/api-reference.mdx)** - Complete API documentation
93
+ - **[Page Types](./docs/page-types.mdx)** - Available page types and their features
94
+
95
+ ### Customization
96
+
97
+ Learn how to customize your onboarding experience:
98
+
99
+ - **[Customization Overview](./docs/customization/intro.mdx)** - Choose your customization level
100
+ - **[Level 1: Theming](./docs/customization/theming.mdx)** - Colors, typography, and semantic styles
101
+ - **[Level 2: Custom Components](./docs/customization/custom-components.mdx)** - Replace specific UI components
102
+ - **[Level 3: Custom Renderers](./docs/customization/custom-renderers.mdx)** - Complete screen control
103
+
104
+ ### Support
105
+
106
+ - **[Troubleshooting](./docs/troubleshooting.mdx)** - Common issues and solutions
107
+
108
+ ### For Contributors
109
+
110
+ Want to contribute to the SDK?
111
+
112
+ - **[Contributing Guide](./CONTRIBUTING.md)** - Development setup, architecture, and contribution guidelines
113
+
114
+ ---
115
+
116
+ ## 🎭 Customization Levels
117
+
118
+ ### Level 1: Theming
119
+
120
+ Customize colors, typography, and semantic styles:
121
+
122
+ ```typescript
123
+ <OnboardingProvider
124
+ theme={{
125
+ colors: { primary: "#FF5733" },
126
+ typography: { fontFamily: { title: "CustomFont-Bold" } },
127
+ }}
128
+ />
129
+ ```
130
+
131
+ ### Level 2: Custom Components
132
+
133
+ Replace specific UI components:
134
+
135
+ ```typescript
136
+ <OnboardingProvider
137
+ customComponents={{
138
+ QuestionAnswerButton: CustomButton,
139
+ QuestionAnswersList: AnimatedList,
140
+ }}
141
+ />
142
+ ```
143
+
144
+ ### Level 3: Custom Renderers
145
+
146
+ Complete control over entire screens:
147
+
148
+ ```typescript
149
+ export default function OnboardingScreen() {
150
+ const { step } = useOnboardingQuestions({ stepNumber });
151
+
152
+ if (step.id === "custom-screen") {
153
+ return <CustomRenderer step={step} onContinue={handleContinue} />;
154
+ }
155
+
156
+ return <OnboardingPage step={step} onContinue={handleContinue} />;
157
+ }
158
+ ```
159
+
160
+ ---
161
+
162
+ ## 🎨 Available Page Types
163
+
164
+ - **Question** - Interactive questions with single or multiple choice answers
165
+ - **MediaContent** - Display images or videos with title and description
166
+ - **Carousel** - Multi-slide horizontal pagination with page indicators
167
+ - **Picker** - Type-specific input pickers for structured data
168
+ - **Loader** - Sequential progress animation with optional carousel
169
+ - **Ratings** - App store rating prompts with social proof
170
+ - **Commitment** - User commitment and agreement screens
171
+
172
+ [Learn more about page types →](./docs/page-types.mdx)
173
+
174
+ ---
175
+
176
+ ## 📦 Optional Dependencies
177
+
178
+ Install these only if you're using the specific screen types:
179
+
180
+ | Screen Type | Package | Install Command |
181
+ | -------------------------- | ----------------------------- | ---------------------------------------------- |
182
+ | **Picker** | `@react-native-picker/picker` | `npx expo install @react-native-picker/picker` |
183
+ | **Ratings** | `expo-store-review` | `npx expo install expo-store-review` |
184
+ | **Commitment** (signature) | `@shopify/react-native-skia` | `npx expo install @shopify/react-native-skia` |
185
+
186
+ ---
187
+
188
+ ## 💡 Example Project
189
+
190
+ Check out the `example/` directory for a complete working example:
191
+
192
+ ```bash
193
+ cd example/
194
+ npm install
195
+ npm start
196
+ ```
197
+
198
+ ---
199
+
200
+ ## 🤝 Contributing
201
+
202
+ We welcome contributions! Please see our [Contributing Guide](./CONTRIBUTING.md) for details.
203
+
204
+ ---
205
+
206
+ ## 📧 Support
207
+
208
+ - **Email:** support@rocapine.com
209
+ - **Issues:** [GitHub Issues](https://github.com/rocapine/react-native-onboarding-studio/issues)
210
+ - **Documentation:** [Rocapine Docs](https://docs.rocapine.com)
211
+
212
+ ---
213
+
214
+ ## 📄 License
215
+
216
+ MIT © [Rocapine](https://rocapine.com)
@@ -0,0 +1,13 @@
1
+ import { OnboardingStepType } from "./steps/types";
2
+ import { Onboarding, GetStepsResponseHeaders, OnboardingOptions, OnboardingStudioClientOptions, UserDefinedParams, BaseStepType } from "./types";
3
+ export declare class OnboardingStudioClient {
4
+ private baseUrl;
5
+ projectId: string;
6
+ options: OnboardingStudioClientOptions;
7
+ constructor(projectId: string, options: OnboardingStudioClientOptions);
8
+ getSteps<StepType extends BaseStepType = OnboardingStepType>(onboardingOptions?: OnboardingOptions, userDefinedParams?: UserDefinedParams): Promise<{
9
+ data: Onboarding<StepType>;
10
+ headers: GetStepsResponseHeaders;
11
+ }>;
12
+ }
13
+ //# sourceMappingURL=OnboardingStudioClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OnboardingStudioClient.d.ts","sourceRoot":"","sources":["../src/OnboardingStudioClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,UAAU,EACV,uBAAuB,EACvB,iBAAiB,EACjB,6BAA6B,EAC7B,iBAAiB,EACjB,YAAY,EACb,MAAM,SAAS,CAAC;AAIjB,qBAAa,sBAAsB;IACjC,OAAO,CAAC,OAAO,CAAS;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,6BAA6B,CAAC;gBAElC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,6BAA6B;IAS/D,QAAQ,CAAC,QAAQ,SAAS,YAAY,GAAG,kBAAkB,EAC/D,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,iBAAiB,CAAC,EAAE,iBAAiB,GACpC,OAAO,CAAC;QAAE,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;QAAC,OAAO,EAAE,uBAAuB,CAAA;KAAE,CAAC;CA8D7E"}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OnboardingStudioClient = void 0;
4
+ const react_native_1 = require("react-native");
5
+ class OnboardingStudioClient {
6
+ constructor(projectId, options) {
7
+ console.info("OnboardingStudioClient init: projectId ", projectId);
8
+ this.projectId = projectId;
9
+ this.options = options;
10
+ this.baseUrl =
11
+ options.baseUrl ||
12
+ "https://takbcvjljqialzqyksic.supabase.co/functions/v1";
13
+ }
14
+ async getSteps(onboardingOptions, userDefinedParams) {
15
+ console.info("OnboardingStudioClient getSteps");
16
+ const isSandbox = this.options.isSandbox;
17
+ const urlParams = new URLSearchParams();
18
+ // Add userDefinedParams to URL
19
+ if (userDefinedParams) {
20
+ Object.entries(userDefinedParams).forEach(([key, value]) => {
21
+ urlParams.append(key, value);
22
+ });
23
+ }
24
+ urlParams.append("projectId", this.projectId);
25
+ urlParams.append("platform", react_native_1.Platform.OS);
26
+ const appVersion = this.options.appVersion; // TODO get the version from the expo app
27
+ if (appVersion) {
28
+ urlParams.append("appVersion", appVersion);
29
+ }
30
+ if (isSandbox) {
31
+ urlParams.append("draft", "true");
32
+ }
33
+ // Add onboardingOptions to URL
34
+ if (onboardingOptions === null || onboardingOptions === void 0 ? void 0 : onboardingOptions.locale) {
35
+ urlParams.append("locale", onboardingOptions.locale);
36
+ }
37
+ const url = `${this.baseUrl}/get-onboarding-steps?${urlParams.toString()}`;
38
+ console.info("OnboardingStudioClient getSteps url", url);
39
+ try {
40
+ const response = await fetch(url);
41
+ if (!response.ok) {
42
+ throw new Error(`Failed to fetch onboarding steps: ${response.status} ${response.statusText}`);
43
+ }
44
+ const data = await response.json();
45
+ return {
46
+ data,
47
+ headers: {
48
+ "ONBS-Onboarding-Id": response.headers.get("ONBS-Onboarding-Id"),
49
+ "ONBS-Audience-Id": response.headers.get("ONBS-Audience-Id"),
50
+ "ONBS-Onboarding-Name": response.headers.get("ONBS-Onboarding-Name"),
51
+ },
52
+ };
53
+ }
54
+ catch (error) {
55
+ console.error(error);
56
+ if (this.options.fallbackOnboarding) {
57
+ return {
58
+ data: this.options.fallbackOnboarding,
59
+ headers: {
60
+ "ONBS-Onboarding-Id": "fallback",
61
+ "ONBS-Audience-Id": "fallback",
62
+ "ONBS-Onboarding-Name": "fallback",
63
+ },
64
+ };
65
+ }
66
+ throw error;
67
+ }
68
+ }
69
+ }
70
+ exports.OnboardingStudioClient = OnboardingStudioClient;
71
+ //# sourceMappingURL=OnboardingStudioClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OnboardingStudioClient.js","sourceRoot":"","sources":["../src/OnboardingStudioClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { OnboardingStudioClient } from "./OnboardingStudioClient";
2
+ export * from "./types";
3
+ export * from "./infra";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,cAAc,SAAS,CAAC;AAGxB,cAAc,SAAS,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,24 @@
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
+ exports.OnboardingStudioClient = void 0;
18
+ // Core client and types
19
+ var OnboardingStudioClient_1 = require("./OnboardingStudioClient");
20
+ Object.defineProperty(exports, "OnboardingStudioClient", { enumerable: true, get: function () { return OnboardingStudioClient_1.OnboardingStudioClient; } });
21
+ __exportStar(require("./types"), exports);
22
+ // Hooks and providers
23
+ __exportStar(require("./infra"), exports);
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,wBAAwB;AACxB,mEAAkE;AAAzD,gIAAA,sBAAsB,OAAA;AAC/B,0CAAwB;AAExB,sBAAsB;AACtB,0CAAwB"}
@@ -0,0 +1,3 @@
1
+ export { useOnboardingStep } from "./useOnboardingStep";
2
+ export { useOnboarding } from "./useOnboarding";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/infra/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useOnboarding = exports.useOnboardingStep = void 0;
4
+ var useOnboardingStep_1 = require("./useOnboardingStep");
5
+ Object.defineProperty(exports, "useOnboardingStep", { enumerable: true, get: function () { return useOnboardingStep_1.useOnboardingStep; } });
6
+ var useOnboarding_1 = require("./useOnboarding");
7
+ Object.defineProperty(exports, "useOnboarding", { enumerable: true, get: function () { return useOnboarding_1.useOnboarding; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/infra/hooks/index.ts"],"names":[],"mappings":";;;AAAA,yDAAwD;AAA/C,sHAAA,iBAAiB,OAAA;AAC1B,iDAAgD;AAAvC,8GAAA,aAAa,OAAA"}
@@ -0,0 +1,6 @@
1
+ export declare const useOnboarding: () => {
2
+ progressPercentage: number;
3
+ isProgressBarVisible: boolean;
4
+ onboarding: import("../..").Onboarding<import("../../steps/types").OnboardingStepType> | null;
5
+ };
6
+ //# sourceMappingURL=useOnboarding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOnboarding.d.ts","sourceRoot":"","sources":["../../../src/infra/hooks/useOnboarding.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa;;;;CAYzB,CAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useOnboarding = void 0;
4
+ const react_1 = require("react");
5
+ const OnboardingProvider_1 = require("../provider/OnboardingProvider");
6
+ const useOnboarding = () => {
7
+ const { activeStep, totalSteps, onboarding } = (0, react_1.useContext)(OnboardingProvider_1.OnboardingProgressContext);
8
+ const progressPercentage = totalSteps > 0 ? Math.round((100 * activeStep.number) / totalSteps) : 0;
9
+ const isProgressBarVisible = activeStep.displayProgressHeader;
10
+ return {
11
+ progressPercentage,
12
+ isProgressBarVisible,
13
+ onboarding,
14
+ };
15
+ };
16
+ exports.useOnboarding = useOnboarding;
17
+ //# sourceMappingURL=useOnboarding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOnboarding.js","sourceRoot":"","sources":["../../../src/infra/hooks/useOnboarding.ts"],"names":[],"mappings":";;;AAAA,iCAAmC;AACnC,uEAA2E;AAEpE,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,IAAA,kBAAU,EACvD,8CAAyB,CAC1B,CAAC;IACF,MAAM,kBAAkB,GACtB,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,oBAAoB,GAAG,UAAU,CAAC,qBAAqB,CAAC;IAC9D,OAAO;QACL,kBAAkB;QAClB,oBAAoB;QACpB,UAAU;KACX,CAAC;AACJ,CAAC,CAAC;AAZW,QAAA,aAAa,iBAYxB"}
@@ -0,0 +1,7 @@
1
+ export declare const useOnboarding: () => {
2
+ progressPercentage: number;
3
+ theme: any;
4
+ isProgressBarVisible: any;
5
+ onboarding: any;
6
+ };
7
+ //# sourceMappingURL=useOnboarding.old.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOnboarding.old.d.ts","sourceRoot":"","sources":["../../../src/infra/hooks/useOnboarding.old.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,aAAa;;;;;CAczB,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useOnboarding = void 0;
4
+ const react_1 = require("react");
5
+ const UI_1 = require("../../UI");
6
+ const OnboardingProvider_1 = require("../provider/OnboardingProvider");
7
+ const useOnboarding = () => {
8
+ const { activeStep, totalSteps, onboarding } = (0, react_1.useContext)(OnboardingProvider_1.OnboardingProgressContext);
9
+ const progressPercentage = totalSteps > 0 ? Math.round((100 * activeStep.number) / totalSteps) : 0;
10
+ const { theme } = (0, UI_1.useTheme)();
11
+ const isProgressBarVisible = activeStep.displayProgressHeader;
12
+ return {
13
+ progressPercentage,
14
+ theme,
15
+ isProgressBarVisible,
16
+ onboarding,
17
+ };
18
+ };
19
+ exports.useOnboarding = useOnboarding;
20
+ //# sourceMappingURL=useOnboarding.old.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOnboarding.old.js","sourceRoot":"","sources":["../../../src/infra/hooks/useOnboarding.old.ts"],"names":[],"mappings":";;;AAAA,iCAAmC;AACnC,iCAAoC;AACpC,uEAA2E;AAEpE,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,IAAA,kBAAU,EACvD,8CAAyB,CAC1B,CAAC;IACF,MAAM,kBAAkB,GACtB,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,aAAQ,GAAE,CAAC;IAC7B,MAAM,oBAAoB,GAAG,UAAU,CAAC,qBAAqB,CAAC;IAC9D,OAAO;QACL,kBAAkB;QAClB,KAAK;QACL,oBAAoB;QACpB,UAAU;KACX,CAAC;AACJ,CAAC,CAAC;AAdW,QAAA,aAAa,iBAcxB"}
@@ -0,0 +1,12 @@
1
+ import { BaseStepType, OnboardingMetadata } from "../../types";
2
+ import { OnboardingStepType } from "../../steps/types";
3
+ export declare const useOnboardingStep: <StepType extends BaseStepType = OnboardingStepType>({ stepNumber, }: {
4
+ stepNumber: number;
5
+ }) => {
6
+ step: StepType;
7
+ isLastStep: boolean;
8
+ stepsLength: number;
9
+ onboardingMetadata: OnboardingMetadata;
10
+ steps: StepType[];
11
+ };
12
+ //# sourceMappingURL=useOnboardingStep.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOnboardingStep.d.ts","sourceRoot":"","sources":["../../../src/infra/hooks/useOnboardingStep.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAc,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,SAAS,YAAY,GAAG,kBAAkB,EAClD,iBAEC;IACD,UAAU,EAAE,MAAM,CAAC;CACpB,KAAG;IACF,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,KAAK,EAAE,QAAQ,EAAE,CAAC;CA8CnB,CAAC"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useOnboardingStep = void 0;
4
+ const react_1 = require("react");
5
+ const react_query_1 = require("@tanstack/react-query");
6
+ const expo_router_1 = require("expo-router");
7
+ const OnboardingProvider_1 = require("../provider/OnboardingProvider");
8
+ const getOnboarding_query_1 = require("../queries/getOnboarding.query");
9
+ const useOnboardingStep = ({ stepNumber, }) => {
10
+ // Get all config from context
11
+ const { client, locale, customAudienceParams, setActiveStep, setTotalSteps, setOnboarding, } = (0, react_1.useContext)(OnboardingProvider_1.OnboardingProgressContext);
12
+ // Build query with config from context
13
+ const { data } = (0, react_query_1.useSuspenseQuery)((0, getOnboarding_query_1.getOnboardingQuery)(client, locale, customAudienceParams, setOnboarding));
14
+ const steps = data.steps;
15
+ const onboardingMetadata = data.metadata;
16
+ (0, expo_router_1.useFocusEffect)((0, react_1.useCallback)(() => {
17
+ var _a;
18
+ const currentStep = steps[stepNumber - 1];
19
+ setActiveStep({
20
+ number: stepNumber,
21
+ displayProgressHeader: (_a = currentStep === null || currentStep === void 0 ? void 0 : currentStep.displayProgressHeader) !== null && _a !== void 0 ? _a : true,
22
+ });
23
+ setTotalSteps(steps.length);
24
+ }, [stepNumber, steps, setActiveStep, setTotalSteps]));
25
+ const step = steps[stepNumber - 1];
26
+ const isLastStep = stepNumber >= steps.length;
27
+ const stepsLength = steps.length;
28
+ return {
29
+ step,
30
+ isLastStep,
31
+ stepsLength,
32
+ onboardingMetadata,
33
+ steps,
34
+ };
35
+ };
36
+ exports.useOnboardingStep = useOnboardingStep;
37
+ //# sourceMappingURL=useOnboardingStep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOnboardingStep.js","sourceRoot":"","sources":["../../../src/infra/hooks/useOnboardingStep.ts"],"names":[],"mappings":";;;AAAA,iCAAgD;AAChD,uDAAyD;AACzD,6CAA6C;AAC7C,uEAA2E;AAC3E,wEAAoE;AAI7D,MAAM,iBAAiB,GAAG,CAE/B,EACA,UAAU,GAGX,EAMC,EAAE;IACF,8BAA8B;IAC9B,MAAM,EACJ,MAAM,EACN,MAAM,EACN,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,aAAa,GACd,GAAG,IAAA,kBAAU,EAAC,8CAAyB,CAAC,CAAC;IAE1C,uCAAuC;IACvC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,8BAAgB,EAC/B,IAAA,wCAAkB,EAChB,MAAM,EACN,MAAM,EACN,oBAAoB,EACpB,aAA2D,CAC5D,CACF,CAAC;IACF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC;IAEzC,IAAA,4BAAc,EACZ,IAAA,mBAAW,EAAC,GAAG,EAAE;;QACf,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAC1C,aAAa,CAAC;YACZ,MAAM,EAAE,UAAU;YAClB,qBAAqB,EAAE,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,qBAAqB,mCAAI,IAAI;SAClE,CAAC,CAAC;QACH,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CACtD,CAAC;IAEF,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC;IAC9C,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;IAEjC,OAAO;QACL,IAAI;QACJ,UAAU;QACV,WAAW;QACX,kBAAkB;QAClB,KAAK;KACN,CAAC;AACJ,CAAC,CAAC;AAzDW,QAAA,iBAAiB,qBAyD5B"}
@@ -0,0 +1,12 @@
1
+ import { OnboardingStepType, BaseStepType } from "../../UI/types";
2
+ import { OnboardingMetadata } from "../../types";
3
+ export declare const useOnboardingStep: <StepType extends BaseStepType = OnboardingStepType>({ stepNumber, }: {
4
+ stepNumber: number;
5
+ }) => {
6
+ step: StepType;
7
+ isLastStep: boolean;
8
+ stepsLength: number;
9
+ onboardingMetadata: OnboardingMetadata;
10
+ steps: StepType[];
11
+ };
12
+ //# sourceMappingURL=useOnboardingStep.old.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOnboardingStep.old.d.ts","sourceRoot":"","sources":["../../../src/infra/hooks/useOnboardingStep.old.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAElE,OAAO,EAAc,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE7D,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,SAAS,YAAY,GAAG,kBAAkB,EAClD,iBAEC;IACD,UAAU,EAAE,MAAM,CAAC;CACpB,KAAG;IACF,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,KAAK,EAAE,QAAQ,EAAE,CAAC;CA8CnB,CAAC"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useOnboardingStep = void 0;
4
+ const react_1 = require("react");
5
+ const react_query_1 = require("@tanstack/react-query");
6
+ const expo_router_1 = require("expo-router");
7
+ const OnboardingProvider_1 = require("../provider/OnboardingProvider");
8
+ const getOnboarding_query_1 = require("../queries/getOnboarding.query");
9
+ const useOnboardingStep = ({ stepNumber, }) => {
10
+ // Get all config from context
11
+ const { client, locale, customAudienceParams, setActiveStep, setTotalSteps, setOnboarding, } = (0, react_1.useContext)(OnboardingProvider_1.OnboardingProgressContext);
12
+ // Build query with config from context
13
+ const { data } = (0, react_query_1.useSuspenseQuery)((0, getOnboarding_query_1.getOnboardingQuery)(client, locale, customAudienceParams, setOnboarding));
14
+ const steps = data.steps;
15
+ const onboardingMetadata = data.metadata;
16
+ (0, expo_router_1.useFocusEffect)((0, react_1.useCallback)(() => {
17
+ var _a;
18
+ const currentStep = steps[stepNumber - 1];
19
+ setActiveStep({
20
+ number: stepNumber,
21
+ displayProgressHeader: (_a = currentStep === null || currentStep === void 0 ? void 0 : currentStep.displayProgressHeader) !== null && _a !== void 0 ? _a : true,
22
+ });
23
+ setTotalSteps(steps.length);
24
+ }, [stepNumber, steps, setActiveStep, setTotalSteps]));
25
+ const step = steps[stepNumber - 1];
26
+ const isLastStep = stepNumber >= steps.length;
27
+ const stepsLength = steps.length;
28
+ return {
29
+ step,
30
+ isLastStep,
31
+ stepsLength,
32
+ onboardingMetadata,
33
+ steps,
34
+ };
35
+ };
36
+ exports.useOnboardingStep = useOnboardingStep;
37
+ //# sourceMappingURL=useOnboardingStep.old.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOnboardingStep.old.js","sourceRoot":"","sources":["../../../src/infra/hooks/useOnboardingStep.old.ts"],"names":[],"mappings":";;;AAAA,iCAAgD;AAChD,uDAAyD;AACzD,6CAA6C;AAC7C,uEAA2E;AAE3E,wEAAoE;AAG7D,MAAM,iBAAiB,GAAG,CAE/B,EACA,UAAU,GAGX,EAMC,EAAE;IACF,8BAA8B;IAC9B,MAAM,EACJ,MAAM,EACN,MAAM,EACN,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,aAAa,GACd,GAAG,IAAA,kBAAU,EAAC,8CAAyB,CAAC,CAAC;IAE1C,uCAAuC;IACvC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,8BAAgB,EAC/B,IAAA,wCAAkB,EAChB,MAAM,EACN,MAAM,EACN,oBAAoB,EACpB,aAA2D,CAC5D,CACF,CAAC;IACF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC;IAEzC,IAAA,4BAAc,EACZ,IAAA,mBAAW,EAAC,GAAG,EAAE;;QACf,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAC1C,aAAa,CAAC;YACZ,MAAM,EAAE,UAAU;YAClB,qBAAqB,EAAE,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,qBAAqB,mCAAI,IAAI;SAClE,CAAC,CAAC;QACH,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CACtD,CAAC;IAEF,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC;IAC9C,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;IAEjC,OAAO;QACL,IAAI;QACJ,UAAU;QACV,WAAW;QACX,kBAAkB;QAClB,KAAK;KACN,CAAC;AACJ,CAAC,CAAC;AAzDW,QAAA,iBAAiB,qBAyD5B"}
@@ -0,0 +1,3 @@
1
+ export * from "./provider";
2
+ export * from "./hooks";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/infra/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("./provider"), exports);
18
+ __exportStar(require("./hooks"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/infra/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,0CAAwB"}
@@ -0,0 +1,29 @@
1
+ import { OnboardingStudioClient } from "../../OnboardingStudioClient";
2
+ import { Onboarding } from "../../types";
3
+ import { OnboardingStepType } from "../../steps/types";
4
+ interface OnboardingProviderProps {
5
+ children: React.ReactNode;
6
+ client: OnboardingStudioClient;
7
+ locale?: string;
8
+ customAudienceParams?: Record<string, any>;
9
+ }
10
+ export declare const OnboardingProvider: ({ children, client, locale, customAudienceParams, }: OnboardingProviderProps) => import("react/jsx-runtime").JSX.Element;
11
+ export declare const OnboardingProgressContext: import("react").Context<{
12
+ activeStep: {
13
+ number: number;
14
+ displayProgressHeader: boolean;
15
+ };
16
+ setActiveStep: (step: {
17
+ number: number;
18
+ displayProgressHeader: boolean;
19
+ }) => void;
20
+ totalSteps: number;
21
+ setTotalSteps: (steps: number) => void;
22
+ client: OnboardingStudioClient;
23
+ locale: string;
24
+ customAudienceParams: Record<string, any>;
25
+ onboarding: Onboarding<OnboardingStepType> | null;
26
+ setOnboarding: (onboarding: Onboarding<OnboardingStepType>) => void;
27
+ }>;
28
+ export {};
29
+ //# sourceMappingURL=OnboardingProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OnboardingProvider.d.ts","sourceRoot":"","sources":["../../../src/infra/provider/OnboardingProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAUvD,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE,sBAAsB,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5C;AAED,eAAO,MAAM,kBAAkB,GAAI,qDAKhC,uBAAuB,4CA8BzB,CAAC;AAEF,eAAO,MAAM,yBAAyB;gBACxB;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,qBAAqB,EAAE,OAAO,CAAA;KAAE;mBAC/C,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,qBAAqB,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI;gBACrE,MAAM;mBACH,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;YAC9B,sBAAsB;YACtB,MAAM;0BACQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;gBAC7B,UAAU,CAAC,kBAAkB,CAAC,GAAG,IAAI;mBAClC,CAAC,UAAU,EAAE,UAAU,CAAC,kBAAkB,CAAC,KAAK,IAAI;EAWnE,CAAC"}