@rocapine/react-native-onboarding 1.2.0 → 1.4.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.
@@ -27,6 +27,7 @@ export declare const onboardingExample: {
27
27
  variant?: undefined;
28
28
  duration?: undefined;
29
29
  didYouKnowImages?: undefined;
30
+ elements?: undefined;
30
31
  socialProofs?: undefined;
31
32
  rateTheAppButtonLabel?: undefined;
32
33
  };
@@ -54,6 +55,7 @@ export declare const onboardingExample: {
54
55
  variant?: undefined;
55
56
  duration?: undefined;
56
57
  didYouKnowImages?: undefined;
58
+ elements?: undefined;
57
59
  socialProofs?: undefined;
58
60
  rateTheAppButtonLabel?: undefined;
59
61
  };
@@ -78,6 +80,7 @@ export declare const onboardingExample: {
78
80
  variant?: undefined;
79
81
  duration?: undefined;
80
82
  didYouKnowImages?: undefined;
83
+ elements?: undefined;
81
84
  socialProofs?: undefined;
82
85
  rateTheAppButtonLabel?: undefined;
83
86
  };
@@ -108,6 +111,7 @@ export declare const onboardingExample: {
108
111
  subtitle?: undefined;
109
112
  multipleAnswer?: undefined;
110
113
  pickerType?: undefined;
114
+ elements?: undefined;
111
115
  socialProofs?: undefined;
112
116
  rateTheAppButtonLabel?: undefined;
113
117
  };
@@ -115,6 +119,139 @@ export declare const onboardingExample: {
115
119
  customPayload: {};
116
120
  continueButtonLabel: string;
117
121
  displayProgressHeader: false;
122
+ } | {
123
+ id: string;
124
+ name: string;
125
+ type: string;
126
+ displayProgressHeader: true;
127
+ payload: {
128
+ elements: {
129
+ id: string;
130
+ type: string;
131
+ props: {
132
+ gap: number;
133
+ padding: number;
134
+ };
135
+ children: ({
136
+ id: string;
137
+ type: string;
138
+ props: {
139
+ source: string;
140
+ height: number;
141
+ autoPlay: boolean;
142
+ loop: boolean;
143
+ url?: undefined;
144
+ autoplay?: undefined;
145
+ fit?: undefined;
146
+ resizeMode?: undefined;
147
+ borderRadius?: undefined;
148
+ content?: undefined;
149
+ fontSize?: undefined;
150
+ fontWeight?: undefined;
151
+ textAlign?: undefined;
152
+ lineHeight?: undefined;
153
+ opacity?: undefined;
154
+ };
155
+ } | {
156
+ id: string;
157
+ type: string;
158
+ props: {
159
+ url: string;
160
+ height: number;
161
+ autoplay: boolean;
162
+ fit: string;
163
+ source?: undefined;
164
+ autoPlay?: undefined;
165
+ loop?: undefined;
166
+ resizeMode?: undefined;
167
+ borderRadius?: undefined;
168
+ content?: undefined;
169
+ fontSize?: undefined;
170
+ fontWeight?: undefined;
171
+ textAlign?: undefined;
172
+ lineHeight?: undefined;
173
+ opacity?: undefined;
174
+ };
175
+ } | {
176
+ id: string;
177
+ type: string;
178
+ props: {
179
+ url: string;
180
+ height: number;
181
+ resizeMode: string;
182
+ borderRadius: number;
183
+ source?: undefined;
184
+ autoPlay?: undefined;
185
+ loop?: undefined;
186
+ autoplay?: undefined;
187
+ fit?: undefined;
188
+ content?: undefined;
189
+ fontSize?: undefined;
190
+ fontWeight?: undefined;
191
+ textAlign?: undefined;
192
+ lineHeight?: undefined;
193
+ opacity?: undefined;
194
+ };
195
+ } | {
196
+ id: string;
197
+ type: string;
198
+ props: {
199
+ content: string;
200
+ fontSize: number;
201
+ fontWeight: string;
202
+ textAlign: string;
203
+ source?: undefined;
204
+ height?: undefined;
205
+ autoPlay?: undefined;
206
+ loop?: undefined;
207
+ url?: undefined;
208
+ autoplay?: undefined;
209
+ fit?: undefined;
210
+ resizeMode?: undefined;
211
+ borderRadius?: undefined;
212
+ lineHeight?: undefined;
213
+ opacity?: undefined;
214
+ };
215
+ } | {
216
+ id: string;
217
+ type: string;
218
+ props: {
219
+ content: string;
220
+ fontSize: number;
221
+ textAlign: string;
222
+ lineHeight: number;
223
+ opacity: number;
224
+ source?: undefined;
225
+ height?: undefined;
226
+ autoPlay?: undefined;
227
+ loop?: undefined;
228
+ url?: undefined;
229
+ autoplay?: undefined;
230
+ fit?: undefined;
231
+ resizeMode?: undefined;
232
+ borderRadius?: undefined;
233
+ fontWeight?: undefined;
234
+ };
235
+ })[];
236
+ }[];
237
+ title?: undefined;
238
+ description?: undefined;
239
+ mediaSource?: undefined;
240
+ answers?: undefined;
241
+ infoBox?: undefined;
242
+ subtitle?: undefined;
243
+ multipleAnswer?: undefined;
244
+ pickerType?: undefined;
245
+ steps?: undefined;
246
+ variant?: undefined;
247
+ duration?: undefined;
248
+ didYouKnowImages?: undefined;
249
+ socialProofs?: undefined;
250
+ rateTheAppButtonLabel?: undefined;
251
+ };
252
+ figmaUrl: null;
253
+ customPayload: {};
254
+ continueButtonLabel: string;
118
255
  } | {
119
256
  id: string;
120
257
  name: string;
@@ -138,6 +275,7 @@ export declare const onboardingExample: {
138
275
  variant?: undefined;
139
276
  duration?: undefined;
140
277
  didYouKnowImages?: undefined;
278
+ elements?: undefined;
141
279
  };
142
280
  figmaUrl: null;
143
281
  customPayload: {};
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding-example.d.ts","sourceRoot":"","sources":["../src/onboarding-example.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgHR,CAAC"}
1
+ {"version":3,"file":"onboarding-example.d.ts","sourceRoot":"","sources":["../src/onboarding-example.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwLR,CAAC"}
@@ -89,6 +89,77 @@ exports.onboardingExample = {
89
89
  continueButtonLabel: "Continue",
90
90
  displayProgressHeader: false,
91
91
  },
92
+ {
93
+ id: "composable-screen-demo",
94
+ name: "Composable Screen",
95
+ type: "ComposableScreen",
96
+ displayProgressHeader: true,
97
+ payload: {
98
+ elements: [
99
+ {
100
+ id: "root",
101
+ type: "YStack",
102
+ props: { gap: 24, padding: 24 },
103
+ children: [
104
+ {
105
+ id: "hero-lottie",
106
+ type: "Lottie",
107
+ props: {
108
+ source: "https://raw.githubusercontent.com/airbnb/lottie-web/master/demo/adrock/data.json",
109
+ height: 180,
110
+ autoPlay: true,
111
+ loop: true,
112
+ },
113
+ },
114
+ {
115
+ id: "hero-rive",
116
+ type: "Rive",
117
+ props: {
118
+ url: "https://cdn.rive.app/animations/vehicles.riv",
119
+ height: 180,
120
+ autoplay: true,
121
+ fit: "Contain",
122
+ },
123
+ },
124
+ {
125
+ id: "hero-image",
126
+ type: "Image",
127
+ props: {
128
+ url: "https://picsum.photos/800/400?grayscale",
129
+ height: 180,
130
+ resizeMode: "cover",
131
+ borderRadius: 16,
132
+ },
133
+ },
134
+ {
135
+ id: "headline",
136
+ type: "Text",
137
+ props: {
138
+ content: "Built from the CMS",
139
+ fontSize: 28,
140
+ fontWeight: "700",
141
+ textAlign: "center",
142
+ },
143
+ },
144
+ {
145
+ id: "subheadline",
146
+ type: "Text",
147
+ props: {
148
+ content: "This screen is composed entirely from a JSON payload — no custom renderer needed.",
149
+ fontSize: 15,
150
+ textAlign: "center",
151
+ lineHeight: 22,
152
+ opacity: 0.6,
153
+ },
154
+ },
155
+ ],
156
+ },
157
+ ],
158
+ },
159
+ figmaUrl: null,
160
+ customPayload: {},
161
+ continueButtonLabel: "Continue",
162
+ },
92
163
  {
93
164
  id: "ratings-app",
94
165
  name: "Rate the App",
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding-example.js","sourceRoot":"","sources":["../src/onboarding-example.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"onboarding-example.js","sourceRoot":"","sources":["../src/onboarding-example.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,18 @@
1
1
  import { z } from "zod";
2
+ type BaseBoxProps = {
3
+ width?: number;
4
+ height?: number;
5
+ opacity?: number;
6
+ margin?: number;
7
+ marginHorizontal?: number;
8
+ marginVertical?: number;
9
+ padding?: number;
10
+ paddingHorizontal?: number;
11
+ paddingVertical?: number;
12
+ borderWidth?: number;
13
+ borderRadius?: number;
14
+ borderColor?: string;
15
+ };
2
16
  type UIElement = {
3
17
  id: string;
4
18
  name?: string;
@@ -54,6 +68,37 @@ type UIElement = {
54
68
  borderColor?: string;
55
69
  opacity?: number;
56
70
  };
71
+ } | {
72
+ id: string;
73
+ name?: string;
74
+ type: "Image";
75
+ props: BaseBoxProps & {
76
+ url: string;
77
+ aspectRatio?: number;
78
+ resizeMode?: "cover" | "contain" | "stretch" | "center";
79
+ };
80
+ } | {
81
+ id: string;
82
+ name?: string;
83
+ type: "Lottie";
84
+ props: BaseBoxProps & {
85
+ source: string;
86
+ autoPlay?: boolean;
87
+ loop?: boolean;
88
+ speed?: number;
89
+ };
90
+ } | {
91
+ id: string;
92
+ name?: string;
93
+ type: "Rive";
94
+ props: BaseBoxProps & {
95
+ url: string;
96
+ autoplay?: boolean;
97
+ fit?: "Contain" | "Cover" | "Fill" | "FitWidth" | "FitHeight" | "None" | "ScaleDown" | "Layout";
98
+ alignment?: "TopLeft" | "TopCenter" | "TopRight" | "CenterLeft" | "Center" | "CenterRight" | "BottomLeft" | "BottomCenter" | "BottomRight";
99
+ artboardName?: string;
100
+ stateMachineName?: string;
101
+ };
57
102
  };
58
103
  export declare const ComposableScreenStepPayloadSchema: z.ZodObject<{
59
104
  elements: z.ZodArray<z.ZodType<UIElement, unknown, z.core.$ZodTypeInternals<UIElement, unknown>>>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/steps/ComposableScreen/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,KAAK,SAAS,GACV;IACE,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,KAAK,EAAE;QACL,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,YAAY,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;QAC9D,cAAc,CAAC,EAAE,YAAY,GAAG,QAAQ,GAAG,UAAU,GAAG,eAAe,GAAG,cAAc,CAAC;QACzF,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;QAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;QAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,QAAQ,EAAE,SAAS,EAAE,CAAC;CACvB,GACD;IACE,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;QACxC,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,CAAC;AAoEN,eAAO,MAAM,iCAAiC;;iBAE5C,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;;;;;;;iBASzC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/steps/ComposableScreen/types.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ComposableScreenStepTypeSchema = exports.ComposableScreenStepPayloadSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const common_types_1 = require("../common.types");
6
+ const BaseBoxPropsSchema = zod_1.z.object({
7
+ width: zod_1.z.number().optional(),
8
+ height: zod_1.z.number().optional(),
9
+ opacity: zod_1.z.number().min(0).max(1).optional(),
10
+ margin: zod_1.z.number().optional(),
11
+ marginHorizontal: zod_1.z.number().optional(),
12
+ marginVertical: zod_1.z.number().optional(),
13
+ padding: zod_1.z.number().optional(),
14
+ paddingHorizontal: zod_1.z.number().optional(),
15
+ paddingVertical: zod_1.z.number().optional(),
16
+ borderWidth: zod_1.z.number().optional(),
17
+ borderRadius: zod_1.z.number().optional(),
18
+ borderColor: zod_1.z.string().optional(),
19
+ });
6
20
  const StackElementPropsSchema = zod_1.z.object({
7
21
  gap: zod_1.z.number().optional(),
8
22
  padding: zod_1.z.number().optional(),
@@ -49,6 +63,25 @@ const TextElementPropsSchema = zod_1.z.object({
49
63
  borderColor: zod_1.z.string().optional(),
50
64
  opacity: zod_1.z.number().min(0).max(1).optional(),
51
65
  });
66
+ const ImageElementPropsSchema = BaseBoxPropsSchema.extend({
67
+ url: zod_1.z.string(),
68
+ aspectRatio: zod_1.z.number().optional(),
69
+ resizeMode: zod_1.z.enum(["cover", "contain", "stretch", "center"]).optional(),
70
+ });
71
+ const LottieElementPropsSchema = BaseBoxPropsSchema.extend({
72
+ source: zod_1.z.string(),
73
+ autoPlay: zod_1.z.boolean().optional(),
74
+ loop: zod_1.z.boolean().optional(),
75
+ speed: zod_1.z.number().optional(),
76
+ });
77
+ const RiveElementPropsSchema = BaseBoxPropsSchema.extend({
78
+ url: zod_1.z.string(),
79
+ autoplay: zod_1.z.boolean().optional(),
80
+ fit: zod_1.z.enum(["Contain", "Cover", "Fill", "FitWidth", "FitHeight", "None", "ScaleDown", "Layout"]).optional(),
81
+ alignment: zod_1.z.enum(["TopLeft", "TopCenter", "TopRight", "CenterLeft", "Center", "CenterRight", "BottomLeft", "BottomCenter", "BottomRight"]).optional(),
82
+ artboardName: zod_1.z.string().optional(),
83
+ stateMachineName: zod_1.z.string().optional(),
84
+ });
52
85
  const UIElementSchema = zod_1.z.lazy(() => zod_1.z.union([
53
86
  zod_1.z.object({
54
87
  id: zod_1.z.string(),
@@ -63,6 +96,24 @@ const UIElementSchema = zod_1.z.lazy(() => zod_1.z.union([
63
96
  type: zod_1.z.literal("Text"),
64
97
  props: TextElementPropsSchema,
65
98
  }),
99
+ zod_1.z.object({
100
+ id: zod_1.z.string(),
101
+ name: zod_1.z.string().optional(),
102
+ type: zod_1.z.literal("Image"),
103
+ props: ImageElementPropsSchema,
104
+ }),
105
+ zod_1.z.object({
106
+ id: zod_1.z.string(),
107
+ name: zod_1.z.string().optional(),
108
+ type: zod_1.z.literal("Lottie"),
109
+ props: LottieElementPropsSchema,
110
+ }),
111
+ zod_1.z.object({
112
+ id: zod_1.z.string(),
113
+ name: zod_1.z.string().optional(),
114
+ type: zod_1.z.literal("Rive"),
115
+ props: RiveElementPropsSchema,
116
+ }),
66
117
  ]));
67
118
  exports.ComposableScreenStepPayloadSchema = zod_1.z.object({
68
119
  elements: zod_1.z.array(UIElementSchema),
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/steps/ComposableScreen/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/steps/ComposableScreen/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "@rocapine/react-native-onboarding",
3
- "version": "1.2.0",
3
+ "version": "1.4.0",
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
9
  "watch": "tsc --watch",
10
+ "type:check": "tsc --noEmit",
10
11
  "patch": "npm version patch && npm run build && npm publish"
11
12
  },
12
13
  "keywords": [
@@ -26,8 +27,8 @@
26
27
  },
27
28
  "devDependencies": {
28
29
  "@types/react": "^19.0.0",
29
- "react": "19.1.0",
30
- "react-native": "0.81.4",
30
+ "react": "19.2.0",
31
+ "react-native": "0.83.4",
31
32
  "typescript": "^5.0.0"
32
33
  },
33
34
  "peerDependencies": {
@@ -88,6 +88,78 @@ export const onboardingExample = {
88
88
  continueButtonLabel: "Continue",
89
89
  displayProgressHeader: false,
90
90
  },
91
+ {
92
+ id: "composable-screen-demo",
93
+ name: "Composable Screen",
94
+ type: "ComposableScreen",
95
+ displayProgressHeader: true,
96
+ payload: {
97
+ elements: [
98
+ {
99
+ id: "root",
100
+ type: "YStack",
101
+ props: { gap: 24, padding: 24 },
102
+ children: [
103
+ {
104
+ id: "hero-lottie",
105
+ type: "Lottie",
106
+ props: {
107
+ source: "https://raw.githubusercontent.com/airbnb/lottie-web/master/demo/adrock/data.json",
108
+ height: 180,
109
+ autoPlay: true,
110
+ loop: true,
111
+ },
112
+ },
113
+ {
114
+ id: "hero-rive",
115
+ type: "Rive",
116
+ props: {
117
+ url: "https://cdn.rive.app/animations/vehicles.riv",
118
+ height: 180,
119
+ autoplay: true,
120
+ fit: "Contain",
121
+ },
122
+ },
123
+ {
124
+ id: "hero-image",
125
+ type: "Image",
126
+ props: {
127
+ url: "https://picsum.photos/800/400?grayscale",
128
+ height: 180,
129
+ resizeMode: "cover",
130
+ borderRadius: 16,
131
+ },
132
+ },
133
+ {
134
+ id: "headline",
135
+ type: "Text",
136
+ props: {
137
+ content: "Built from the CMS",
138
+ fontSize: 28,
139
+ fontWeight: "700",
140
+ textAlign: "center",
141
+ },
142
+ },
143
+ {
144
+ id: "subheadline",
145
+ type: "Text",
146
+ props: {
147
+ content:
148
+ "This screen is composed entirely from a JSON payload — no custom renderer needed.",
149
+ fontSize: 15,
150
+ textAlign: "center",
151
+ lineHeight: 22,
152
+ opacity: 0.6,
153
+ },
154
+ },
155
+ ],
156
+ },
157
+ ],
158
+ },
159
+ figmaUrl: null,
160
+ customPayload: {},
161
+ continueButtonLabel: "Continue",
162
+ },
91
163
  {
92
164
  id: "ratings-app",
93
165
  name: "Rate the App",
@@ -1,6 +1,21 @@
1
1
  import { z } from "zod";
2
2
  import { CustomPayloadSchema } from "../common.types";
3
3
 
4
+ type BaseBoxProps = {
5
+ width?: number;
6
+ height?: number;
7
+ opacity?: number;
8
+ margin?: number;
9
+ marginHorizontal?: number;
10
+ marginVertical?: number;
11
+ padding?: number;
12
+ paddingHorizontal?: number;
13
+ paddingVertical?: number;
14
+ borderWidth?: number;
15
+ borderRadius?: number;
16
+ borderColor?: string;
17
+ };
18
+
4
19
  type UIElement =
5
20
  | {
6
21
  id: string;
@@ -58,8 +73,57 @@ type UIElement =
58
73
  borderColor?: string;
59
74
  opacity?: number;
60
75
  };
76
+ }
77
+ | {
78
+ id: string;
79
+ name?: string;
80
+ type: "Image";
81
+ props: BaseBoxProps & {
82
+ url: string;
83
+ aspectRatio?: number;
84
+ resizeMode?: "cover" | "contain" | "stretch" | "center";
85
+ };
86
+ }
87
+ | {
88
+ id: string;
89
+ name?: string;
90
+ type: "Lottie";
91
+ props: BaseBoxProps & {
92
+ source: string;
93
+ autoPlay?: boolean;
94
+ loop?: boolean;
95
+ speed?: number;
96
+ };
97
+ }
98
+ | {
99
+ id: string;
100
+ name?: string;
101
+ type: "Rive";
102
+ props: BaseBoxProps & {
103
+ url: string;
104
+ autoplay?: boolean;
105
+ fit?: "Contain" | "Cover" | "Fill" | "FitWidth" | "FitHeight" | "None" | "ScaleDown" | "Layout";
106
+ alignment?: "TopLeft" | "TopCenter" | "TopRight" | "CenterLeft" | "Center" | "CenterRight" | "BottomLeft" | "BottomCenter" | "BottomRight";
107
+ artboardName?: string;
108
+ stateMachineName?: string;
109
+ };
61
110
  };
62
111
 
112
+ const BaseBoxPropsSchema = z.object({
113
+ width: z.number().optional(),
114
+ height: z.number().optional(),
115
+ opacity: z.number().min(0).max(1).optional(),
116
+ margin: z.number().optional(),
117
+ marginHorizontal: z.number().optional(),
118
+ marginVertical: z.number().optional(),
119
+ padding: z.number().optional(),
120
+ paddingHorizontal: z.number().optional(),
121
+ paddingVertical: z.number().optional(),
122
+ borderWidth: z.number().optional(),
123
+ borderRadius: z.number().optional(),
124
+ borderColor: z.string().optional(),
125
+ });
126
+
63
127
  const StackElementPropsSchema = z.object({
64
128
  gap: z.number().optional(),
65
129
  padding: z.number().optional(),
@@ -108,6 +172,28 @@ const TextElementPropsSchema = z.object({
108
172
  opacity: z.number().min(0).max(1).optional(),
109
173
  });
110
174
 
175
+ const ImageElementPropsSchema = BaseBoxPropsSchema.extend({
176
+ url: z.string(),
177
+ aspectRatio: z.number().optional(),
178
+ resizeMode: z.enum(["cover", "contain", "stretch", "center"]).optional(),
179
+ });
180
+
181
+ const LottieElementPropsSchema = BaseBoxPropsSchema.extend({
182
+ source: z.string(),
183
+ autoPlay: z.boolean().optional(),
184
+ loop: z.boolean().optional(),
185
+ speed: z.number().optional(),
186
+ });
187
+
188
+ const RiveElementPropsSchema = BaseBoxPropsSchema.extend({
189
+ url: z.string(),
190
+ autoplay: z.boolean().optional(),
191
+ fit: z.enum(["Contain", "Cover", "Fill", "FitWidth", "FitHeight", "None", "ScaleDown", "Layout"]).optional(),
192
+ alignment: z.enum(["TopLeft", "TopCenter", "TopRight", "CenterLeft", "Center", "CenterRight", "BottomLeft", "BottomCenter", "BottomRight"]).optional(),
193
+ artboardName: z.string().optional(),
194
+ stateMachineName: z.string().optional(),
195
+ });
196
+
111
197
  const UIElementSchema: z.ZodType<UIElement> = z.lazy(() =>
112
198
  z.union([
113
199
  z.object({
@@ -123,6 +209,24 @@ const UIElementSchema: z.ZodType<UIElement> = z.lazy(() =>
123
209
  type: z.literal("Text"),
124
210
  props: TextElementPropsSchema,
125
211
  }),
212
+ z.object({
213
+ id: z.string(),
214
+ name: z.string().optional(),
215
+ type: z.literal("Image"),
216
+ props: ImageElementPropsSchema,
217
+ }),
218
+ z.object({
219
+ id: z.string(),
220
+ name: z.string().optional(),
221
+ type: z.literal("Lottie"),
222
+ props: LottieElementPropsSchema,
223
+ }),
224
+ z.object({
225
+ id: z.string(),
226
+ name: z.string().optional(),
227
+ type: z.literal("Rive"),
228
+ props: RiveElementPropsSchema,
229
+ }),
126
230
  ])
127
231
  );
128
232