@rocapine/react-native-onboarding 1.0.1 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # @rocapine/react-native-onboarding-studio
1
+ # @rocapine/react-native-onboarding
2
2
 
3
3
  **A CMS-driven onboarding system for React Native mobile apps.**
4
4
 
@@ -23,7 +23,7 @@ Build beautiful, customizable onboarding flows that update instantly without app
23
23
  ### Installation
24
24
 
25
25
  ```bash
26
- npm install @rocapine/react-native-onboarding-studio
26
+ npm install @rocapine/react-native-onboarding
27
27
  npx expo install expo-router
28
28
  ```
29
29
 
@@ -34,7 +34,7 @@ import {
34
34
  OnboardingProvider,
35
35
  OnboardingStudioClient,
36
36
  ProgressBar,
37
- } from "@rocapine/react-native-onboarding-studio";
37
+ } from "@rocapine/react-native-onboarding";
38
38
 
39
39
  const client = new OnboardingStudioClient("your-project-id", {
40
40
  appVersion: "1.0.0",
@@ -60,7 +60,7 @@ export default function RootLayout() {
60
60
  import {
61
61
  useOnboardingQuestions,
62
62
  OnboardingPage,
63
- } from "@rocapine/react-native-onboarding-studio";
63
+ } from "@rocapine/react-native-onboarding";
64
64
 
65
65
  export default function OnboardingScreen() {
66
66
  const { step, isLastStep } = useOnboardingQuestions({ stepNumber: 1 });
@@ -201,6 +201,14 @@ npm start
201
201
 
202
202
  We welcome contributions! Please see our [Contributing Guide](./CONTRIBUTING.md) for details.
203
203
 
204
+ ### Publishing:
205
+
206
+ - Bump version and commit "chore: bump version"
207
+ - Publish
208
+ ```
209
+ npm publish --access public
210
+ ```
211
+
204
212
  ---
205
213
 
206
214
  ## 📧 Support
@@ -1 +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"}
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;CA2E7E"}
@@ -37,7 +37,12 @@ class OnboardingStudioClient {
37
37
  const url = `${this.baseUrl}/get-onboarding-steps?${urlParams.toString()}`;
38
38
  console.info("OnboardingStudioClient getSteps url", url);
39
39
  try {
40
- const response = await fetch(url);
40
+ const response = await Promise.race(this.options.timeout
41
+ ? [
42
+ fetch(url),
43
+ new Promise((_, reject) => setTimeout(() => reject(new Error("timeout")), this.options.timeout)),
44
+ ]
45
+ : [fetch(url)]);
41
46
  if (!response.ok) {
42
47
  throw new Error(`Failed to fetch onboarding steps: ${response.status} ${response.statusText}`);
43
48
  }
@@ -52,8 +57,9 @@ class OnboardingStudioClient {
52
57
  };
53
58
  }
54
59
  catch (error) {
55
- console.error(error);
60
+ console.error("OnboardingStudioClient getSteps error", error);
56
61
  if (this.options.fallbackOnboarding) {
62
+ console.warn("OnboardingStudioClient getSteps fallback onboarding");
57
63
  return {
58
64
  data: this.options.fallbackOnboarding,
59
65
  headers: {
@@ -1 +1 @@
1
- {"version":3,"file":"OnboardingStudioClient.js","sourceRoot":"","sources":["../src/OnboardingStudioClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OnboardingStudioClient.js","sourceRoot":"","sources":["../src/OnboardingStudioClient.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -17,6 +17,7 @@ export type OnboardingStudioClientOptions<StepType extends BaseStepType = BaseSt
17
17
  isSandbox?: boolean;
18
18
  baseUrl?: string;
19
19
  fallbackOnboarding?: Onboarding<StepType>;
20
+ timeout?: number;
20
21
  };
21
22
  export type OnboardingOptions = {
22
23
  locale?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,6BAA6B,CAAC,QAAQ,SAAS,YAAY,GAAG,YAAY,IAAI;IACxF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,UAAU,CAAC,QAAQ,SAAS,YAAY,GAAG,YAAY;IACtE,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,aAAa,EAAE,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,6BAA6B,CACvC,QAAQ,SAAS,YAAY,GAAG,YAAY,IAC1C;IACF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,UAAU,CAAC,QAAQ,SAAS,YAAY,GAAG,YAAY;IACtE,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,aAAa,EAAE,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC"}
package/package.json CHANGED
@@ -1,12 +1,11 @@
1
1
  {
2
2
  "name": "@rocapine/react-native-onboarding",
3
- "version": "1.0.1",
3
+ "version": "1.1.1",
4
4
  "description": "Headless React Native SDK for Rocapine Onboarding Studio - Data fetching, state management, and hooks",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "scripts": {
8
8
  "build": "tsc",
9
- "prepare": "npm run build",
10
9
  "watch": "tsc --watch",
11
10
  "patch": "npm version patch && npm run build && npm publish"
12
11
  },
@@ -59,7 +59,19 @@ export class OnboardingStudioClient {
59
59
  const url = `${this.baseUrl}/get-onboarding-steps?${urlParams.toString()}`;
60
60
  console.info("OnboardingStudioClient getSteps url", url);
61
61
  try {
62
- const response = await fetch(url);
62
+ const response = await Promise.race(
63
+ this.options.timeout
64
+ ? [
65
+ fetch(url),
66
+ new Promise<Response>((_, reject) =>
67
+ setTimeout(
68
+ () => reject(new Error("timeout")),
69
+ this.options.timeout
70
+ )
71
+ ),
72
+ ]
73
+ : [fetch(url)]
74
+ );
63
75
  if (!response.ok) {
64
76
  throw new Error(
65
77
  `Failed to fetch onboarding steps: ${response.status} ${response.statusText}`
@@ -75,8 +87,9 @@ export class OnboardingStudioClient {
75
87
  },
76
88
  };
77
89
  } catch (error) {
78
- console.error(error);
90
+ console.error("OnboardingStudioClient getSteps error", error);
79
91
  if (this.options.fallbackOnboarding) {
92
+ console.warn("OnboardingStudioClient getSteps fallback onboarding");
80
93
  return {
81
94
  data: this.options.fallbackOnboarding as Onboarding<StepType>,
82
95
  headers: {
@@ -4,11 +4,11 @@ export const CustomPayloadSchema = z.record(z.string(), z.any()).nullish();
4
4
 
5
5
  export const MediaSourceSchema = z.union([
6
6
  z.object({
7
- type: z.literal("image").or(z.literal("lottie")).or(z.literal("rive")),
7
+ type: z.literal("video").or(z.literal("image")).or(z.literal("lottie")).or(z.literal("rive")),
8
8
  localPathId: z.string(),
9
9
  }),
10
10
  z.object({
11
- type: z.literal("image").or(z.literal("lottie")).or(z.literal("rive")),
11
+ type: z.literal("video").or(z.literal("image")).or(z.literal("lottie")).or(z.literal("rive")),
12
12
  url: z.string(),
13
13
  }),
14
14
  ]);
package/src/types.ts CHANGED
@@ -13,11 +13,14 @@ export type BaseStepType = {
13
13
  figmaUrl?: string | null;
14
14
  };
15
15
 
16
- export type OnboardingStudioClientOptions<StepType extends BaseStepType = BaseStepType> = {
16
+ export type OnboardingStudioClientOptions<
17
+ StepType extends BaseStepType = BaseStepType
18
+ > = {
17
19
  appVersion?: string;
18
20
  isSandbox?: boolean;
19
21
  baseUrl?: string;
20
22
  fallbackOnboarding?: Onboarding<StepType>;
23
+ timeout?: number;
21
24
  };
22
25
 
23
26
  export type OnboardingOptions = {