@rocapine/react-native-onboarding 1.1.5 → 1.2.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 (50) hide show
  1. package/README.md +35 -17
  2. package/dist/steps/Carousel/types.d.ts +4 -0
  3. package/dist/steps/Carousel/types.d.ts.map +1 -1
  4. package/dist/steps/Carousel/types.js +1 -0
  5. package/dist/steps/Carousel/types.js.map +1 -1
  6. package/dist/steps/Commitment/types.d.ts +4 -0
  7. package/dist/steps/Commitment/types.d.ts.map +1 -1
  8. package/dist/steps/Commitment/types.js +1 -0
  9. package/dist/steps/Commitment/types.js.map +1 -1
  10. package/dist/steps/ComposableScreen/types.d.ts +75 -0
  11. package/dist/steps/ComposableScreen/types.d.ts.map +1 -0
  12. package/dist/steps/ComposableScreen/types.js +80 -0
  13. package/dist/steps/ComposableScreen/types.js.map +1 -0
  14. package/dist/steps/Loader/types.d.ts +4 -0
  15. package/dist/steps/Loader/types.d.ts.map +1 -1
  16. package/dist/steps/Loader/types.js +1 -0
  17. package/dist/steps/Loader/types.js.map +1 -1
  18. package/dist/steps/MediaContent/types.d.ts +4 -0
  19. package/dist/steps/MediaContent/types.d.ts.map +1 -1
  20. package/dist/steps/MediaContent/types.js +1 -0
  21. package/dist/steps/MediaContent/types.js.map +1 -1
  22. package/dist/steps/Picker/types.d.ts +4 -0
  23. package/dist/steps/Picker/types.d.ts.map +1 -1
  24. package/dist/steps/Picker/types.js +1 -0
  25. package/dist/steps/Picker/types.js.map +1 -1
  26. package/dist/steps/Question/types.d.ts +5 -0
  27. package/dist/steps/Question/types.d.ts.map +1 -1
  28. package/dist/steps/Question/types.js +2 -0
  29. package/dist/steps/Question/types.js.map +1 -1
  30. package/dist/steps/Ratings/types.d.ts +4 -0
  31. package/dist/steps/Ratings/types.d.ts.map +1 -1
  32. package/dist/steps/Ratings/types.js +1 -0
  33. package/dist/steps/Ratings/types.js.map +1 -1
  34. package/dist/steps/common.types.d.ts +4 -0
  35. package/dist/steps/common.types.d.ts.map +1 -1
  36. package/dist/steps/common.types.js +5 -1
  37. package/dist/steps/common.types.js.map +1 -1
  38. package/dist/steps/types.d.ts +2 -1
  39. package/dist/steps/types.d.ts.map +1 -1
  40. package/package.json +1 -1
  41. package/src/steps/Carousel/types.ts +2 -1
  42. package/src/steps/Commitment/types.ts +2 -1
  43. package/src/steps/ComposableScreen/types.ts +144 -0
  44. package/src/steps/Loader/types.ts +2 -1
  45. package/src/steps/MediaContent/types.ts +2 -0
  46. package/src/steps/Picker/types.ts +2 -1
  47. package/src/steps/Question/types.ts +3 -1
  48. package/src/steps/Ratings/types.ts +2 -1
  49. package/src/steps/common.types.ts +5 -0
  50. package/src/steps/types.ts +2 -0
package/README.md CHANGED
@@ -2,19 +2,22 @@
2
2
 
3
3
  **A CMS-driven onboarding system for React Native mobile apps.**
4
4
 
5
- Build beautiful, customizable onboarding flows that update instantly without app releases.
5
+ Build beautiful, customizable onboarding flows that update instantly without app
6
+ releases.
6
7
 
7
8
  ---
8
9
 
9
10
  ## ✨ Features
10
11
 
11
- - 🎨 **Pre-built Components** - Ready-to-use screens (ratings, pickers, carousels, media content, and more)
12
+ - 🎨 **Pre-built Components** - Ready-to-use screens (ratings, pickers,
13
+ carousels, media content, and more)
12
14
  - 🔄 **CMS-Driven** - Update onboarding flows remotely without app releases
13
15
  - 📱 **React Native** - Works with Expo and bare React Native projects
14
16
  - 🎯 **Type-Safe** - Full TypeScript support with runtime validation
15
17
  - 💾 **Offline Support** - Built-in caching with AsyncStorage
16
18
  - 🎭 **Themeable** - Customizable colors, typography, and styling
17
- - 🔧 **Extensible** - Three levels of customization from theme tokens to complete renderer overrides
19
+ - 🔧 **Extensible** - Three levels of customization from theme tokens to
20
+ complete renderer overrides
18
21
 
19
22
  ---
20
23
 
@@ -58,8 +61,8 @@ export default function RootLayout() {
58
61
 
59
62
  ```typescript
60
63
  import {
61
- useOnboardingQuestions,
62
64
  OnboardingPage,
65
+ useOnboardingQuestions,
63
66
  } from "@rocapine/react-native-onboarding";
64
67
 
65
68
  export default function OnboardingScreen() {
@@ -87,29 +90,38 @@ That's it! 🎉
87
90
 
88
91
  Complete documentation for using the SDK in your app:
89
92
 
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
93
+ - **[Getting Started](./docs/getting-started.mdx)** - Installation, setup, and
94
+ your first onboarding flow
95
+ - **[Core Concepts](./docs/core-concepts.mdx)** - How the SDK works, caching,
96
+ progress tracking
92
97
  - **[API Reference](./docs/api-reference.mdx)** - Complete API documentation
93
- - **[Page Types](./docs/page-types.mdx)** - Available page types and their features
98
+ - **[Page Types](./docs/page-types.mdx)** - Available page types and their
99
+ features
94
100
 
95
101
  ### Customization
96
102
 
97
103
  Learn how to customize your onboarding experience:
98
104
 
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
105
+ - **[Customization Overview](./docs/customization/intro.mdx)** - Choose your
106
+ customization level
107
+ - **[Level 1: Theming](./docs/customization/theming.mdx)** - Colors, typography,
108
+ and semantic styles
109
+ - **[Level 2: Custom Components](./docs/customization/custom-components.mdx)** -
110
+ Replace specific UI components
111
+ - **[Level 3: Custom Renderers](./docs/customization/custom-renderers.mdx)** -
112
+ Complete screen control
103
113
 
104
114
  ### Support
105
115
 
106
- - **[Troubleshooting](./docs/troubleshooting.mdx)** - Common issues and solutions
116
+ - **[Troubleshooting](./docs/troubleshooting.mdx)** - Common issues and
117
+ solutions
107
118
 
108
119
  ### For Contributors
109
120
 
110
121
  Want to contribute to the SDK?
111
122
 
112
- - **[Contributing Guide](./CONTRIBUTING.md)** - Development setup, architecture, and contribution guidelines
123
+ - **[Contributing Guide](./CONTRIBUTING.md)** - Development setup, architecture,
124
+ and contribution guidelines
113
125
 
114
126
  ---
115
127
 
@@ -125,7 +137,7 @@ Customize colors, typography, and semantic styles:
125
137
  colors: { primary: "#FF5733" },
126
138
  typography: { fontFamily: { title: "CustomFont-Bold" } },
127
139
  }}
128
- />
140
+ />;
129
141
  ```
130
142
 
131
143
  ### Level 2: Custom Components
@@ -138,7 +150,7 @@ Replace specific UI components:
138
150
  QuestionAnswerButton: CustomButton,
139
151
  QuestionAnswersList: AnimatedList,
140
152
  }}
141
- />
153
+ />;
142
154
  ```
143
155
 
144
156
  ### Level 3: Custom Renderers
@@ -168,6 +180,10 @@ export default function OnboardingScreen() {
168
180
  - **Loader** - Sequential progress animation with optional carousel
169
181
  - **Ratings** - App store rating prompts with social proof
170
182
  - **Commitment** - User commitment and agreement screens
183
+ - **ComposableScreen** _(under development)_ - Declarative layout system driven
184
+ entirely from the CMS. Build arbitrary screens by composing `YStack`,
185
+ `XStack`, and `Text` elements with full layout, spacing, border, and
186
+ typography control — no custom renderer needed.
171
187
 
172
188
  [Learn more about page types →](./docs/page-types.mdx)
173
189
 
@@ -199,7 +215,8 @@ npm start
199
215
 
200
216
  ## 🤝 Contributing
201
217
 
202
- We welcome contributions! Please see our [Contributing Guide](./CONTRIBUTING.md) for details.
218
+ We welcome contributions! Please see our [Contributing Guide](./CONTRIBUTING.md)
219
+ for details.
203
220
 
204
221
  ### Publishing:
205
222
 
@@ -214,7 +231,8 @@ We welcome contributions! Please see our [Contributing Guide](./CONTRIBUTING.md)
214
231
  ## 📧 Support
215
232
 
216
233
  - **Email:** support@rocapine.com
217
- - **Issues:** [GitHub Issues](https://github.com/rocapine/react-native-onboarding-studio/issues)
234
+ - **Issues:**
235
+ [GitHub Issues](https://github.com/rocapine/react-native-onboarding-studio/issues)
218
236
  - **Documentation:** [Rocapine Docs](https://docs.rocapine.com)
219
237
 
220
238
  ---
@@ -25,6 +25,10 @@ export declare const CarouselStepTypeSchema: z.ZodObject<{
25
25
  }, z.core.$strip>;
26
26
  customPayload: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodAny>>>;
27
27
  continueButtonLabel: z.ZodDefault<z.ZodOptional<z.ZodString>>;
28
+ buttonSection: z.ZodOptional<z.ZodObject<{
29
+ label: z.ZodOptional<z.ZodString>;
30
+ icon: z.ZodOptional<z.ZodNullable<z.ZodString>>;
31
+ }, z.core.$strip>>;
28
32
  figmaUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
29
33
  }, z.core.$strip>;
30
34
  export type CarouselStepType = z.infer<typeof CarouselStepTypeSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/steps/Carousel/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,oBAAoB;;;;iBAI/B,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;iBAEpC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;iBASjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/steps/Carousel/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,oBAAoB;;;;iBAI/B,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;iBAEpC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;iBAUjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
@@ -19,6 +19,7 @@ exports.CarouselStepTypeSchema = zod_1.z.object({
19
19
  payload: exports.CarouselStepPayloadSchema,
20
20
  customPayload: common_types_1.CustomPayloadSchema,
21
21
  continueButtonLabel: zod_1.z.string().optional().default("Continue"),
22
+ buttonSection: common_types_1.ButtonSectionSchema.optional(),
22
23
  figmaUrl: zod_1.z.string().nullish(),
23
24
  });
24
25
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/steps/Carousel/types.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,kDAAsD;AAEzC,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3C,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;CAC/B,CAAC,CAAC;AAEU,QAAA,yBAAyB,GAAG,OAAC,CAAC,MAAM,CAAC;IAChD,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,4BAAoB,CAAC;CACvC,CAAC,CAAC;AAEU,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC3B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,qBAAqB,EAAE,OAAC,CAAC,OAAO,EAAE;IAClC,OAAO,EAAE,iCAAyB;IAClC,aAAa,EAAE,kCAAmB;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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/steps/Carousel/types.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,kDAA2E;AAE9D,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3C,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;CAC/B,CAAC,CAAC;AAEU,QAAA,yBAAyB,GAAG,OAAC,CAAC,MAAM,CAAC;IAChD,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,4BAAoB,CAAC;CACvC,CAAC,CAAC;AAEU,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC3B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,qBAAqB,EAAE,OAAC,CAAC,OAAO,EAAE;IAClC,OAAO,EAAE,iCAAyB;IAClC,aAAa,EAAE,kCAAmB;IAClC,mBAAmB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;IAC9D,aAAa,EAAE,kCAAmB,CAAC,QAAQ,EAAE;IAC7C,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;CAC/B,CAAC,CAAC"}
@@ -35,6 +35,10 @@ export declare const CommitmentStepTypeSchema: z.ZodObject<{
35
35
  }, z.core.$strip>;
36
36
  customPayload: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodAny>>>;
37
37
  continueButtonLabel: z.ZodDefault<z.ZodOptional<z.ZodString>>;
38
+ buttonSection: z.ZodOptional<z.ZodObject<{
39
+ label: z.ZodOptional<z.ZodString>;
40
+ icon: z.ZodOptional<z.ZodNullable<z.ZodString>>;
41
+ }, z.core.$strip>>;
38
42
  figmaUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
39
43
  }, z.core.$strip>;
40
44
  export type CommitmentStepType = z.infer<typeof CommitmentStepTypeSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/steps/Commitment/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,oBAAoB;;iBAE/B,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;iBAOtC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;iBASnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/steps/Commitment/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,oBAAoB;;iBAE/B,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;iBAOtC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;iBAUnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
@@ -22,6 +22,7 @@ exports.CommitmentStepTypeSchema = zod_1.z.object({
22
22
  payload: exports.CommitmentStepPayloadSchema,
23
23
  customPayload: common_types_1.CustomPayloadSchema,
24
24
  continueButtonLabel: zod_1.z.string().optional().default("Continue"),
25
+ buttonSection: common_types_1.ButtonSectionSchema.optional(),
25
26
  figmaUrl: zod_1.z.string().nullish(),
26
27
  });
27
28
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/steps/Commitment/types.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,kDAAsD;AAEzC,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AAEU,QAAA,2BAA2B,GAAG,OAAC,CAAC,MAAM,CAAC;IAClD,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;IAC9B,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;IACjC,WAAW,EAAE,OAAC,CAAC,KAAK,CAAC,4BAAoB,CAAC,CAAC,OAAO,EAAE;IACpD,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,gCAAgC,CAAC;IACtE,OAAO,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;CAC9D,CAAC,CAAC;AAEU,QAAA,wBAAwB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/C,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IAC7B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,qBAAqB,EAAE,OAAC,CAAC,OAAO,EAAE;IAClC,OAAO,EAAE,mCAA2B;IACpC,aAAa,EAAE,kCAAmB;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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/steps/Commitment/types.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,kDAA2E;AAE9D,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AAEU,QAAA,2BAA2B,GAAG,OAAC,CAAC,MAAM,CAAC;IAClD,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;IAC9B,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;IACjC,WAAW,EAAE,OAAC,CAAC,KAAK,CAAC,4BAAoB,CAAC,CAAC,OAAO,EAAE;IACpD,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,gCAAgC,CAAC;IACtE,OAAO,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;CAC9D,CAAC,CAAC;AAEU,QAAA,wBAAwB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/C,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IAC7B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,qBAAqB,EAAE,OAAC,CAAC,OAAO,EAAE;IAClC,OAAO,EAAE,mCAA2B;IACpC,aAAa,EAAE,kCAAmB;IAClC,mBAAmB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;IAC9D,aAAa,EAAE,kCAAmB,CAAC,QAAQ,EAAE;IAC7C,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;CAC/B,CAAC,CAAC"}
@@ -0,0 +1,75 @@
1
+ import { z } from "zod";
2
+ type UIElement = {
3
+ id: string;
4
+ name?: string;
5
+ type: "YStack" | "XStack";
6
+ props: {
7
+ gap?: number;
8
+ padding?: number;
9
+ paddingHorizontal?: number;
10
+ paddingVertical?: number;
11
+ margin?: number;
12
+ marginHorizontal?: number;
13
+ marginVertical?: number;
14
+ flex?: number;
15
+ width?: number;
16
+ height?: number;
17
+ minWidth?: number;
18
+ maxWidth?: number;
19
+ minHeight?: number;
20
+ maxHeight?: number;
21
+ alignItems?: "flex-start" | "center" | "flex-end" | "stretch";
22
+ justifyContent?: "flex-start" | "center" | "flex-end" | "space-between" | "space-around";
23
+ backgroundColor?: string;
24
+ flexWrap?: "wrap" | "nowrap";
25
+ flexShrink?: number;
26
+ borderWidth?: number;
27
+ borderRadius?: number;
28
+ borderColor?: string;
29
+ overflow?: "hidden" | "visible" | "scroll";
30
+ opacity?: number;
31
+ };
32
+ children: UIElement[];
33
+ } | {
34
+ id: string;
35
+ name?: string;
36
+ type: "Text";
37
+ props: {
38
+ content: string;
39
+ fontSize?: number;
40
+ fontWeight?: string;
41
+ color?: string;
42
+ textAlign?: "left" | "center" | "right";
43
+ letterSpacing?: number;
44
+ lineHeight?: number;
45
+ backgroundColor?: string;
46
+ padding?: number;
47
+ paddingHorizontal?: number;
48
+ paddingVertical?: number;
49
+ margin?: number;
50
+ marginHorizontal?: number;
51
+ marginVertical?: number;
52
+ borderWidth?: number;
53
+ borderRadius?: number;
54
+ borderColor?: string;
55
+ opacity?: number;
56
+ };
57
+ };
58
+ export declare const ComposableScreenStepPayloadSchema: z.ZodObject<{
59
+ elements: z.ZodArray<z.ZodType<UIElement, unknown, z.core.$ZodTypeInternals<UIElement, unknown>>>;
60
+ }, z.core.$strip>;
61
+ export declare const ComposableScreenStepTypeSchema: z.ZodObject<{
62
+ id: z.ZodString;
63
+ type: z.ZodLiteral<"ComposableScreen">;
64
+ name: z.ZodString;
65
+ displayProgressHeader: z.ZodBoolean;
66
+ payload: z.ZodObject<{
67
+ elements: z.ZodArray<z.ZodType<UIElement, unknown, z.core.$ZodTypeInternals<UIElement, unknown>>>;
68
+ }, z.core.$strip>;
69
+ customPayload: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodAny>>>;
70
+ continueButtonLabel: z.ZodDefault<z.ZodOptional<z.ZodString>>;
71
+ figmaUrl: z.ZodNullable<z.ZodString>;
72
+ }, z.core.$strip>;
73
+ export type ComposableScreenStepType = z.infer<typeof ComposableScreenStepTypeSchema>;
74
+ export {};
75
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ComposableScreenStepTypeSchema = exports.ComposableScreenStepPayloadSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const common_types_1 = require("../common.types");
6
+ const StackElementPropsSchema = zod_1.z.object({
7
+ gap: zod_1.z.number().optional(),
8
+ padding: zod_1.z.number().optional(),
9
+ paddingHorizontal: zod_1.z.number().optional(),
10
+ paddingVertical: zod_1.z.number().optional(),
11
+ margin: zod_1.z.number().optional(),
12
+ marginHorizontal: zod_1.z.number().optional(),
13
+ marginVertical: zod_1.z.number().optional(),
14
+ flex: zod_1.z.number().optional(),
15
+ width: zod_1.z.number().optional(),
16
+ height: zod_1.z.number().optional(),
17
+ minWidth: zod_1.z.number().optional(),
18
+ maxWidth: zod_1.z.number().optional(),
19
+ minHeight: zod_1.z.number().optional(),
20
+ maxHeight: zod_1.z.number().optional(),
21
+ alignItems: zod_1.z.enum(["flex-start", "center", "flex-end", "stretch"]).optional(),
22
+ justifyContent: zod_1.z.enum(["flex-start", "center", "flex-end", "space-between", "space-around"]).optional(),
23
+ backgroundColor: zod_1.z.string().optional(),
24
+ flexWrap: zod_1.z.enum(["wrap", "nowrap"]).optional(),
25
+ flexShrink: zod_1.z.number().optional(),
26
+ borderWidth: zod_1.z.number().optional(),
27
+ borderRadius: zod_1.z.number().optional(),
28
+ borderColor: zod_1.z.string().optional(),
29
+ overflow: zod_1.z.enum(["hidden", "visible", "scroll"]).optional(),
30
+ opacity: zod_1.z.number().min(0).max(1).optional(),
31
+ });
32
+ const TextElementPropsSchema = zod_1.z.object({
33
+ content: zod_1.z.string(),
34
+ fontSize: zod_1.z.number().optional(),
35
+ fontWeight: zod_1.z.string().optional(),
36
+ color: zod_1.z.string().optional(),
37
+ textAlign: zod_1.z.enum(["left", "center", "right"]).optional(),
38
+ letterSpacing: zod_1.z.number().optional(),
39
+ lineHeight: zod_1.z.number().optional(),
40
+ backgroundColor: zod_1.z.string().optional(),
41
+ padding: zod_1.z.number().optional(),
42
+ paddingHorizontal: zod_1.z.number().optional(),
43
+ paddingVertical: zod_1.z.number().optional(),
44
+ margin: zod_1.z.number().optional(),
45
+ marginHorizontal: zod_1.z.number().optional(),
46
+ marginVertical: zod_1.z.number().optional(),
47
+ borderWidth: zod_1.z.number().optional(),
48
+ borderRadius: zod_1.z.number().optional(),
49
+ borderColor: zod_1.z.string().optional(),
50
+ opacity: zod_1.z.number().min(0).max(1).optional(),
51
+ });
52
+ const UIElementSchema = zod_1.z.lazy(() => zod_1.z.union([
53
+ zod_1.z.object({
54
+ id: zod_1.z.string(),
55
+ name: zod_1.z.string().optional(),
56
+ type: zod_1.z.union([zod_1.z.literal("YStack"), zod_1.z.literal("XStack")]),
57
+ props: StackElementPropsSchema,
58
+ children: zod_1.z.array(UIElementSchema),
59
+ }),
60
+ zod_1.z.object({
61
+ id: zod_1.z.string(),
62
+ name: zod_1.z.string().optional(),
63
+ type: zod_1.z.literal("Text"),
64
+ props: TextElementPropsSchema,
65
+ }),
66
+ ]));
67
+ exports.ComposableScreenStepPayloadSchema = zod_1.z.object({
68
+ elements: zod_1.z.array(UIElementSchema),
69
+ });
70
+ exports.ComposableScreenStepTypeSchema = zod_1.z.object({
71
+ id: zod_1.z.string(),
72
+ type: zod_1.z.literal("ComposableScreen"),
73
+ name: zod_1.z.string(),
74
+ displayProgressHeader: zod_1.z.boolean(),
75
+ payload: exports.ComposableScreenStepPayloadSchema,
76
+ customPayload: common_types_1.CustomPayloadSchema,
77
+ continueButtonLabel: zod_1.z.string().optional().default("Continue"),
78
+ figmaUrl: zod_1.z.string().nullable(),
79
+ });
80
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/steps/ComposableScreen/types.ts"],"names":[],"mappings":"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"}
@@ -50,6 +50,10 @@ export declare const LoaderStepTypeSchema: z.ZodObject<{
50
50
  }, z.core.$strip>;
51
51
  customPayload: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodAny>>>;
52
52
  continueButtonLabel: z.ZodDefault<z.ZodOptional<z.ZodString>>;
53
+ buttonSection: z.ZodOptional<z.ZodObject<{
54
+ label: z.ZodOptional<z.ZodString>;
55
+ icon: z.ZodOptional<z.ZodNullable<z.ZodString>>;
56
+ }, z.core.$strip>>;
53
57
  figmaUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
54
58
  }, z.core.$strip>;
55
59
  export type LoaderStepType = z.infer<typeof LoaderStepTypeSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/steps/Loader/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,gBAAgB;;;iBAG3B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;iBASlC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAS/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/steps/Loader/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,gBAAgB;;;iBAG3B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;iBASlC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAU/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
@@ -25,6 +25,7 @@ exports.LoaderStepTypeSchema = zod_1.z.object({
25
25
  payload: exports.LoaderStepPayloadSchema,
26
26
  customPayload: common_types_1.CustomPayloadSchema,
27
27
  continueButtonLabel: zod_1.z.string().optional().default("Continue"),
28
+ buttonSection: common_types_1.ButtonSectionSchema.optional(),
28
29
  figmaUrl: zod_1.z.string().nullish(),
29
30
  });
30
31
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/steps/Loader/types.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,kDAAyE;AAE5D,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAEU,QAAA,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9C,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,wBAAgB,CAAC;IAChC,gBAAgB,EAAE,OAAC,CAAC,KAAK,CAAC,gCAAiB,CAAC,CAAC,OAAO,EAAE;IACtD,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7C,OAAO,EAAE,OAAC;SACP,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;SACxC,QAAQ,EAAE;SACV,OAAO,CAAC,MAAM,CAAC;CACnB,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,kCAAmB;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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/steps/Loader/types.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,kDAA8F;AAEjF,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAEU,QAAA,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9C,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,wBAAgB,CAAC;IAChC,gBAAgB,EAAE,OAAC,CAAC,KAAK,CAAC,gCAAiB,CAAC,CAAC,OAAO,EAAE;IACtD,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7C,OAAO,EAAE,OAAC;SACP,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;SACxC,QAAQ,EAAE;SACV,OAAO,CAAC,MAAM,CAAC;CACnB,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,kCAAmB;IAClC,mBAAmB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;IAC9D,aAAa,EAAE,kCAAmB,CAAC,QAAQ,EAAE;IAC7C,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;CAC/B,CAAC,CAAC"}
@@ -53,6 +53,10 @@ export declare const MediaContentStepTypeSchema: z.ZodObject<{
53
53
  }, z.core.$strip>;
54
54
  customPayload: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodAny>>>;
55
55
  continueButtonLabel: z.ZodDefault<z.ZodOptional<z.ZodString>>;
56
+ buttonSection: z.ZodOptional<z.ZodObject<{
57
+ label: z.ZodOptional<z.ZodString>;
58
+ icon: z.ZodOptional<z.ZodNullable<z.ZodString>>;
59
+ }, z.core.$strip>>;
56
60
  figmaUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
57
61
  }, z.core.$strip>;
58
62
  export type MediaContentStepType = z.infer<typeof MediaContentStepTypeSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/steps/MediaContent/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,6BAA6B;;;;GAAsE,CAAC;AAEjH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;iBAMxC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBASrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/steps/MediaContent/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,6BAA6B;;;;GAAsE,CAAC;AAEjH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;iBAMxC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAUrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
@@ -19,6 +19,7 @@ exports.MediaContentStepTypeSchema = zod_1.z.object({
19
19
  payload: exports.MediaContentStepPayloadSchema,
20
20
  customPayload: common_types_1.CustomPayloadSchema,
21
21
  continueButtonLabel: zod_1.z.string().optional().default("Continue"),
22
+ buttonSection: common_types_1.ButtonSectionSchema.optional(),
22
23
  figmaUrl: zod_1.z.string().nullish(),
23
24
  });
24
25
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/steps/MediaContent/types.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,kDAIyB;AAEZ,QAAA,6BAA6B,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAEpG,QAAA,6BAA6B,GAAG,OAAC,CAAC,MAAM,CAAC;IACpD,WAAW,EAAE,gCAAiB;IAC9B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;IACjC,WAAW,EAAE,gCAAiB,CAAC,OAAO,EAAE;IACxC,WAAW,EAAE,qCAA6B,CAAC,QAAQ,EAAE;CACtD,CAAC,CAAC;AAEU,QAAA,0BAA0B,GAAG,OAAC,CAAC,MAAM,CAAC;IACjD,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IAC/B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,qBAAqB,EAAE,OAAC,CAAC,OAAO,EAAE;IAClC,OAAO,EAAE,qCAA6B;IACtC,aAAa,EAAE,kCAAmB;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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/steps/MediaContent/types.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,kDAKyB;AAEZ,QAAA,6BAA6B,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAEpG,QAAA,6BAA6B,GAAG,OAAC,CAAC,MAAM,CAAC;IACpD,WAAW,EAAE,gCAAiB;IAC9B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;IACjC,WAAW,EAAE,gCAAiB,CAAC,OAAO,EAAE;IACxC,WAAW,EAAE,qCAA6B,CAAC,QAAQ,EAAE;CACtD,CAAC,CAAC;AAEU,QAAA,0BAA0B,GAAG,OAAC,CAAC,MAAM,CAAC;IACjD,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IAC/B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,qBAAqB,EAAE,OAAC,CAAC,OAAO,EAAE;IAClC,OAAO,EAAE,qCAA6B;IACtC,aAAa,EAAE,kCAAmB;IAClC,mBAAmB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;IAC9D,aAAa,EAAE,kCAAmB,CAAC,QAAQ,EAAE;IAC7C,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;CAC/B,CAAC,CAAC"}
@@ -41,6 +41,10 @@ export declare const PickerStepTypeSchema: z.ZodObject<{
41
41
  }, z.core.$strip>;
42
42
  customPayload: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodAny>>>;
43
43
  continueButtonLabel: z.ZodDefault<z.ZodOptional<z.ZodString>>;
44
+ buttonSection: z.ZodOptional<z.ZodObject<{
45
+ label: z.ZodOptional<z.ZodString>;
46
+ icon: z.ZodOptional<z.ZodNullable<z.ZodString>>;
47
+ }, z.core.$strip>>;
44
48
  figmaUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
45
49
  }, z.core.$strip>;
46
50
  export type PickerStepType = z.infer<typeof PickerStepTypeSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/steps/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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/steps/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;;;;;;;;;;;;;;;;;;;;;;;;;iBAU/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"}
@@ -25,6 +25,7 @@ exports.PickerStepTypeSchema = zod_1.z.object({
25
25
  payload: exports.PickerStepPayloadSchema,
26
26
  customPayload: common_types_1.CustomPayloadSchema,
27
27
  continueButtonLabel: zod_1.z.string().optional().default("Continue"),
28
+ buttonSection: common_types_1.ButtonSectionSchema.optional(),
28
29
  figmaUrl: zod_1.z.string().nullish(),
29
30
  });
30
31
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/steps/Picker/types.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,kDAAsD;AAEzC,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,kCAAmB;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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/steps/Picker/types.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,kDAA2E;AAE9D,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,kCAAmB;IAClC,mBAAmB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;IAC9D,aAAa,EAAE,kCAAmB,CAAC,QAAQ,EAAE;IAC7C,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;CAC/B,CAAC,CAAC"}
@@ -41,6 +41,11 @@ export declare const QuestionStepTypeSchema: z.ZodObject<{
41
41
  }, z.core.$strip>>>;
42
42
  }, z.core.$strip>;
43
43
  customPayload: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodAny>>>;
44
+ continueButtonLabel: z.ZodDefault<z.ZodOptional<z.ZodString>>;
45
+ buttonSection: z.ZodOptional<z.ZodObject<{
46
+ label: z.ZodOptional<z.ZodString>;
47
+ icon: z.ZodOptional<z.ZodNullable<z.ZodString>>;
48
+ }, z.core.$strip>>;
44
49
  figmaUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
45
50
  }, z.core.$strip>;
46
51
  export type QuestionStepType = z.infer<typeof QuestionStepTypeSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/steps/Question/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,YAAY;;;;;iBAKvB,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;iBAMpC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;iBAQjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/steps/Question/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,YAAY;;;;;iBAKvB,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;iBAMpC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAUjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
@@ -23,6 +23,8 @@ exports.QuestionStepTypeSchema = zod_1.z.object({
23
23
  displayProgressHeader: zod_1.z.boolean(),
24
24
  payload: exports.QuestionStepPayloadSchema,
25
25
  customPayload: common_types_1.CustomPayloadSchema,
26
+ continueButtonLabel: zod_1.z.string().optional().default("Continue"),
27
+ buttonSection: common_types_1.ButtonSectionSchema.optional(),
26
28
  figmaUrl: zod_1.z.string().nullish(),
27
29
  });
28
30
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/steps/Question/types.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,kDAAqE;AAExD,QAAA,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;IAC1B,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;CAClC,CAAC,CAAC;AAEU,QAAA,yBAAyB,GAAG,OAAC,CAAC,MAAM,CAAC;IAChD,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,oBAAY,CAAC;IAC9B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;IAC9B,cAAc,EAAE,OAAC,CAAC,OAAO,EAAE;IAC3B,OAAO,EAAE,4BAAa,CAAC,OAAO,EAAE;CACjC,CAAC,CAAC;AAEU,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC3B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,qBAAqB,EAAE,OAAC,CAAC,OAAO,EAAE;IAClC,OAAO,EAAE,iCAAyB;IAClC,aAAa,EAAE,kCAAmB;IAClC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;CAC/B,CAAC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/steps/Question/types.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,kDAA0F;AAE7E,QAAA,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;IAC1B,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;CAClC,CAAC,CAAC;AAEU,QAAA,yBAAyB,GAAG,OAAC,CAAC,MAAM,CAAC;IAChD,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,oBAAY,CAAC;IAC9B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;IAC9B,cAAc,EAAE,OAAC,CAAC,OAAO,EAAE;IAC3B,OAAO,EAAE,4BAAa,CAAC,OAAO,EAAE;CACjC,CAAC,CAAC;AAEU,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC3B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,qBAAqB,EAAE,OAAC,CAAC,OAAO,EAAE;IAClC,OAAO,EAAE,iCAAyB;IAClC,aAAa,EAAE,kCAAmB;IAClC,mBAAmB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;IAC9D,aAAa,EAAE,kCAAmB,CAAC,QAAQ,EAAE;IAC7C,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;CAC/B,CAAC,CAAC"}
@@ -26,6 +26,10 @@ export declare const RatingsStepTypeSchema: z.ZodObject<{
26
26
  }, z.core.$strip>;
27
27
  customPayload: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodAny>>>;
28
28
  continueButtonLabel: z.ZodDefault<z.ZodOptional<z.ZodString>>;
29
+ buttonSection: z.ZodOptional<z.ZodObject<{
30
+ label: z.ZodOptional<z.ZodString>;
31
+ icon: z.ZodOptional<z.ZodNullable<z.ZodString>>;
32
+ }, z.core.$strip>>;
29
33
  figmaUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
30
34
  }, z.core.$strip>;
31
35
  export type RatingsStepType = z.infer<typeof RatingsStepTypeSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/steps/Ratings/types.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAGpB,eAAO,MAAM,wBAAwB;;;;;;;;;iBAKnC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;iBAShC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/steps/Ratings/types.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAGpB,eAAO,MAAM,wBAAwB;;;;;;;;;iBAKnC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;iBAUhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -20,6 +20,7 @@ exports.RatingsStepTypeSchema = zod_1.default.object({
20
20
  payload: exports.RatingsStepPayloadSchema,
21
21
  customPayload: common_types_1.CustomPayloadSchema,
22
22
  continueButtonLabel: zod_1.default.string().optional().default("Continue"),
23
+ buttonSection: common_types_1.ButtonSectionSchema.optional(),
23
24
  figmaUrl: zod_1.default.string().nullish(),
24
25
  });
25
26
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/steps/Ratings/types.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AACpB,kDAAyE;AAE5D,QAAA,wBAAwB,GAAG,aAAC,CAAC,MAAM,CAAC;IAC/C,KAAK,EAAE,aAAC,CAAC,MAAM,EAAE;IACjB,QAAQ,EAAE,aAAC,CAAC,MAAM,EAAE;IACpB,YAAY,EAAE,aAAC,CAAC,KAAK,CAAC,gCAAiB,CAAC;IACxC,qBAAqB,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC;CACrE,CAAC,CAAC;AAEU,QAAA,qBAAqB,GAAG,aAAC,CAAC,MAAM,CAAC;IAC5C,EAAE,EAAE,aAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,aAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC1B,IAAI,EAAE,aAAC,CAAC,MAAM,EAAE;IAChB,qBAAqB,EAAE,aAAC,CAAC,OAAO,EAAE;IAClC,OAAO,EAAE,gCAAwB;IACjC,aAAa,EAAE,kCAAmB;IAClC,mBAAmB,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;IAC9D,QAAQ,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;CAC/B,CAAC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/steps/Ratings/types.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AACpB,kDAA8F;AAEjF,QAAA,wBAAwB,GAAG,aAAC,CAAC,MAAM,CAAC;IAC/C,KAAK,EAAE,aAAC,CAAC,MAAM,EAAE;IACjB,QAAQ,EAAE,aAAC,CAAC,MAAM,EAAE;IACpB,YAAY,EAAE,aAAC,CAAC,KAAK,CAAC,gCAAiB,CAAC;IACxC,qBAAqB,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC;CACrE,CAAC,CAAC;AAEU,QAAA,qBAAqB,GAAG,aAAC,CAAC,MAAM,CAAC;IAC5C,EAAE,EAAE,aAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,aAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC1B,IAAI,EAAE,aAAC,CAAC,MAAM,EAAE;IAChB,qBAAqB,EAAE,aAAC,CAAC,OAAO,EAAE;IAClC,OAAO,EAAE,gCAAwB;IACjC,aAAa,EAAE,kCAAmB;IAClC,mBAAmB,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;IAC9D,aAAa,EAAE,kCAAmB,CAAC,QAAQ,EAAE;IAC7C,QAAQ,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;CAC/B,CAAC,CAAC"}
@@ -16,4 +16,8 @@ export declare const InfoBoxSchema: z.ZodObject<{
16
16
  title: z.ZodString;
17
17
  content: z.ZodString;
18
18
  }, z.core.$strip>;
19
+ export declare const ButtonSectionSchema: z.ZodObject<{
20
+ label: z.ZodOptional<z.ZodString>;
21
+ icon: z.ZodOptional<z.ZodNullable<z.ZodString>>;
22
+ }, z.core.$strip>;
19
23
  //# sourceMappingURL=common.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.types.d.ts","sourceRoot":"","sources":["../../src/steps/common.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,mBAAmB,kEAA0C,CAAC;AAE3E,eAAO,MAAM,iBAAiB;;;;;;mBAS5B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;iBAI5B,CAAC;AAEH,eAAO,MAAM,aAAa;;;iBAGxB,CAAC"}
1
+ {"version":3,"file":"common.types.d.ts","sourceRoot":"","sources":["../../src/steps/common.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,mBAAmB,kEAA0C,CAAC;AAE3E,eAAO,MAAM,iBAAiB;;;;;;mBAS5B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;iBAI5B,CAAC;AAEH,eAAO,MAAM,aAAa;;;iBAGxB,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;iBAG9B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InfoBoxSchema = exports.SocialProofSchema = exports.MediaSourceSchema = exports.CustomPayloadSchema = void 0;
3
+ exports.ButtonSectionSchema = exports.InfoBoxSchema = exports.SocialProofSchema = exports.MediaSourceSchema = exports.CustomPayloadSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  exports.CustomPayloadSchema = zod_1.z.record(zod_1.z.string(), zod_1.z.any()).nullish();
6
6
  exports.MediaSourceSchema = zod_1.z.union([
@@ -22,4 +22,8 @@ exports.InfoBoxSchema = zod_1.z.object({
22
22
  title: zod_1.z.string(),
23
23
  content: zod_1.z.string(),
24
24
  });
25
+ exports.ButtonSectionSchema = zod_1.z.object({
26
+ label: zod_1.z.string().optional(),
27
+ icon: zod_1.z.string().nullish(),
28
+ });
25
29
  //# sourceMappingURL=common.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.types.js","sourceRoot":"","sources":["../../src/steps/common.types.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;AAE9D,QAAA,iBAAiB,GAAG,OAAC,CAAC,KAAK,CAAC;IACvC,OAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,OAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,OAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7F,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;KACxB,CAAC;IACF,OAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,OAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,OAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7F,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;KAChB,CAAC;CACH,CAAC,CAAC;AAEU,QAAA,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;IACxC,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE;IACxB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC;AAEU,QAAA,aAAa,GAAG,OAAC,CAAC,MAAM,CAAC;IACpC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC"}
1
+ {"version":3,"file":"common.types.js","sourceRoot":"","sources":["../../src/steps/common.types.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;AAE9D,QAAA,iBAAiB,GAAG,OAAC,CAAC,KAAK,CAAC;IACvC,OAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,OAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,OAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7F,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;KACxB,CAAC;IACF,OAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,OAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,OAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7F,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;KAChB,CAAC;CACH,CAAC,CAAC;AAEU,QAAA,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;IACxC,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE;IACxB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC;AAEU,QAAA,aAAa,GAAG,OAAC,CAAC,MAAM,CAAC;IACpC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAEU,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1C,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;CAC3B,CAAC,CAAC"}
@@ -2,8 +2,9 @@ import { CarouselStepType } from "./Carousel/types";
2
2
  import { CommitmentStepType } from "./Commitment/types";
3
3
  import { LoaderStepType } from "./Loader/types";
4
4
  import { MediaContentStepType } from "./MediaContent/types";
5
+ import { ComposableScreenStepType } from "./ComposableScreen/types";
5
6
  import { PickerStepType } from "./Picker/types";
6
7
  import { QuestionStepType } from "./Question/types";
7
8
  import { RatingsStepType } from "./Ratings/types";
8
- export type OnboardingStepType = CarouselStepType | CommitmentStepType | LoaderStepType | MediaContentStepType | PickerStepType | QuestionStepType | RatingsStepType;
9
+ export type OnboardingStepType = CarouselStepType | CommitmentStepType | LoaderStepType | MediaContentStepType | ComposableScreenStepType | PickerStepType | QuestionStepType | RatingsStepType;
9
10
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/steps/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,MAAM,kBAAkB,GAC1B,gBAAgB,GAChB,kBAAkB,GAClB,cAAc,GACd,oBAAoB,GACpB,cAAc,GACd,gBAAgB,GAChB,eAAe,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/steps/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,MAAM,kBAAkB,GAC1B,gBAAgB,GAChB,kBAAkB,GAClB,cAAc,GACd,oBAAoB,GACpB,wBAAwB,GACxB,cAAc,GACd,gBAAgB,GAChB,eAAe,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rocapine/react-native-onboarding",
3
- "version": "1.1.5",
3
+ "version": "1.2.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",
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import { CustomPayloadSchema } from "../common.types";
2
+ import { ButtonSectionSchema, CustomPayloadSchema } from "../common.types";
3
3
 
4
4
  export const CarouselScreenSchema = z.object({
5
5
  mediaUrl: z.string(),
@@ -19,6 +19,7 @@ export const CarouselStepTypeSchema = z.object({
19
19
  payload: CarouselStepPayloadSchema,
20
20
  customPayload: CustomPayloadSchema,
21
21
  continueButtonLabel: z.string().optional().default("Continue"),
22
+ buttonSection: ButtonSectionSchema.optional(),
22
23
  figmaUrl: z.string().nullish(),
23
24
  });
24
25
 
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import { CustomPayloadSchema } from "../common.types";
2
+ import { ButtonSectionSchema, CustomPayloadSchema } from "../common.types";
3
3
 
4
4
  export const CommitmentItemSchema = z.object({
5
5
  text: z.string(),
@@ -22,6 +22,7 @@ export const CommitmentStepTypeSchema = z.object({
22
22
  payload: CommitmentStepPayloadSchema,
23
23
  customPayload: CustomPayloadSchema,
24
24
  continueButtonLabel: z.string().optional().default("Continue"),
25
+ buttonSection: ButtonSectionSchema.optional(),
25
26
  figmaUrl: z.string().nullish(),
26
27
  });
27
28
 
@@ -0,0 +1,144 @@
1
+ import { z } from "zod";
2
+ import { CustomPayloadSchema } from "../common.types";
3
+
4
+ type UIElement =
5
+ | {
6
+ id: string;
7
+ name?: string;
8
+ type: "YStack" | "XStack";
9
+ props: {
10
+ gap?: number;
11
+ padding?: number;
12
+ paddingHorizontal?: number;
13
+ paddingVertical?: number;
14
+ margin?: number;
15
+ marginHorizontal?: number;
16
+ marginVertical?: number;
17
+ flex?: number;
18
+ width?: number;
19
+ height?: number;
20
+ minWidth?: number;
21
+ maxWidth?: number;
22
+ minHeight?: number;
23
+ maxHeight?: number;
24
+ alignItems?: "flex-start" | "center" | "flex-end" | "stretch";
25
+ justifyContent?: "flex-start" | "center" | "flex-end" | "space-between" | "space-around";
26
+ backgroundColor?: string;
27
+ flexWrap?: "wrap" | "nowrap";
28
+ flexShrink?: number;
29
+ borderWidth?: number;
30
+ borderRadius?: number;
31
+ borderColor?: string;
32
+ overflow?: "hidden" | "visible" | "scroll";
33
+ opacity?: number;
34
+ };
35
+ children: UIElement[];
36
+ }
37
+ | {
38
+ id: string;
39
+ name?: string;
40
+ type: "Text";
41
+ props: {
42
+ content: string;
43
+ fontSize?: number;
44
+ fontWeight?: string;
45
+ color?: string;
46
+ textAlign?: "left" | "center" | "right";
47
+ letterSpacing?: number;
48
+ lineHeight?: number;
49
+ backgroundColor?: string;
50
+ padding?: number;
51
+ paddingHorizontal?: number;
52
+ paddingVertical?: number;
53
+ margin?: number;
54
+ marginHorizontal?: number;
55
+ marginVertical?: number;
56
+ borderWidth?: number;
57
+ borderRadius?: number;
58
+ borderColor?: string;
59
+ opacity?: number;
60
+ };
61
+ };
62
+
63
+ const StackElementPropsSchema = z.object({
64
+ gap: z.number().optional(),
65
+ padding: z.number().optional(),
66
+ paddingHorizontal: z.number().optional(),
67
+ paddingVertical: z.number().optional(),
68
+ margin: z.number().optional(),
69
+ marginHorizontal: z.number().optional(),
70
+ marginVertical: z.number().optional(),
71
+ flex: z.number().optional(),
72
+ width: z.number().optional(),
73
+ height: z.number().optional(),
74
+ minWidth: z.number().optional(),
75
+ maxWidth: z.number().optional(),
76
+ minHeight: z.number().optional(),
77
+ maxHeight: z.number().optional(),
78
+ alignItems: z.enum(["flex-start", "center", "flex-end", "stretch"]).optional(),
79
+ justifyContent: z.enum(["flex-start", "center", "flex-end", "space-between", "space-around"]).optional(),
80
+ backgroundColor: z.string().optional(),
81
+ flexWrap: z.enum(["wrap", "nowrap"]).optional(),
82
+ flexShrink: z.number().optional(),
83
+ borderWidth: z.number().optional(),
84
+ borderRadius: z.number().optional(),
85
+ borderColor: z.string().optional(),
86
+ overflow: z.enum(["hidden", "visible", "scroll"]).optional(),
87
+ opacity: z.number().min(0).max(1).optional(),
88
+ });
89
+
90
+ const TextElementPropsSchema = z.object({
91
+ content: z.string(),
92
+ fontSize: z.number().optional(),
93
+ fontWeight: z.string().optional(),
94
+ color: z.string().optional(),
95
+ textAlign: z.enum(["left", "center", "right"]).optional(),
96
+ letterSpacing: z.number().optional(),
97
+ lineHeight: z.number().optional(),
98
+ backgroundColor: z.string().optional(),
99
+ padding: z.number().optional(),
100
+ paddingHorizontal: z.number().optional(),
101
+ paddingVertical: z.number().optional(),
102
+ margin: z.number().optional(),
103
+ marginHorizontal: z.number().optional(),
104
+ marginVertical: z.number().optional(),
105
+ borderWidth: z.number().optional(),
106
+ borderRadius: z.number().optional(),
107
+ borderColor: z.string().optional(),
108
+ opacity: z.number().min(0).max(1).optional(),
109
+ });
110
+
111
+ const UIElementSchema: z.ZodType<UIElement> = z.lazy(() =>
112
+ z.union([
113
+ z.object({
114
+ id: z.string(),
115
+ name: z.string().optional(),
116
+ type: z.union([z.literal("YStack"), z.literal("XStack")]),
117
+ props: StackElementPropsSchema,
118
+ children: z.array(UIElementSchema),
119
+ }),
120
+ z.object({
121
+ id: z.string(),
122
+ name: z.string().optional(),
123
+ type: z.literal("Text"),
124
+ props: TextElementPropsSchema,
125
+ }),
126
+ ])
127
+ );
128
+
129
+ export const ComposableScreenStepPayloadSchema = z.object({
130
+ elements: z.array(UIElementSchema),
131
+ });
132
+
133
+ export const ComposableScreenStepTypeSchema = z.object({
134
+ id: z.string(),
135
+ type: z.literal("ComposableScreen"),
136
+ name: z.string(),
137
+ displayProgressHeader: z.boolean(),
138
+ payload: ComposableScreenStepPayloadSchema,
139
+ customPayload: CustomPayloadSchema,
140
+ continueButtonLabel: z.string().optional().default("Continue"),
141
+ figmaUrl: z.string().nullable(),
142
+ });
143
+
144
+ export type ComposableScreenStepType = z.infer<typeof ComposableScreenStepTypeSchema>;
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import { CustomPayloadSchema, MediaSourceSchema } from "../common.types";
2
+ import { ButtonSectionSchema, CustomPayloadSchema, MediaSourceSchema } from "../common.types";
3
3
 
4
4
  export const LoaderStepSchema = z.object({
5
5
  label: z.string(),
@@ -25,6 +25,7 @@ export const LoaderStepTypeSchema = z.object({
25
25
  payload: LoaderStepPayloadSchema,
26
26
  customPayload: CustomPayloadSchema,
27
27
  continueButtonLabel: z.string().optional().default("Continue"),
28
+ buttonSection: ButtonSectionSchema.optional(),
28
29
  figmaUrl: z.string().nullish(),
29
30
  });
30
31
 
@@ -1,5 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import {
3
+ ButtonSectionSchema,
3
4
  CustomPayloadSchema,
4
5
  MediaSourceSchema,
5
6
  SocialProofSchema,
@@ -23,6 +24,7 @@ export const MediaContentStepTypeSchema = z.object({
23
24
  payload: MediaContentStepPayloadSchema,
24
25
  customPayload: CustomPayloadSchema,
25
26
  continueButtonLabel: z.string().optional().default("Continue"),
27
+ buttonSection: ButtonSectionSchema.optional(),
26
28
  figmaUrl: z.string().nullish(),
27
29
  });
28
30
 
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import { CustomPayloadSchema } from "../common.types";
2
+ import { ButtonSectionSchema, CustomPayloadSchema } from "../common.types";
3
3
 
4
4
  export const PickerTypeEnum = z.enum([
5
5
  "height",
@@ -25,6 +25,7 @@ export const PickerStepTypeSchema = z.object({
25
25
  payload: PickerStepPayloadSchema,
26
26
  customPayload: CustomPayloadSchema,
27
27
  continueButtonLabel: z.string().optional().default("Continue"),
28
+ buttonSection: ButtonSectionSchema.optional(),
28
29
  figmaUrl: z.string().nullish(),
29
30
  });
30
31
 
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import { CustomPayloadSchema, InfoBoxSchema } from "../common.types";
2
+ import { ButtonSectionSchema, CustomPayloadSchema, InfoBoxSchema } from "../common.types";
3
3
 
4
4
  export const AnswerSchema = z.object({
5
5
  label: z.string(),
@@ -23,6 +23,8 @@ export const QuestionStepTypeSchema = z.object({
23
23
  displayProgressHeader: z.boolean(),
24
24
  payload: QuestionStepPayloadSchema,
25
25
  customPayload: CustomPayloadSchema,
26
+ continueButtonLabel: z.string().optional().default("Continue"),
27
+ buttonSection: ButtonSectionSchema.optional(),
26
28
  figmaUrl: z.string().nullish(),
27
29
  });
28
30
 
@@ -1,5 +1,5 @@
1
1
  import z from "zod";
2
- import { CustomPayloadSchema, SocialProofSchema } from "../common.types";
2
+ import { ButtonSectionSchema, CustomPayloadSchema, SocialProofSchema } from "../common.types";
3
3
 
4
4
  export const RatingsStepPayloadSchema = z.object({
5
5
  title: z.string(),
@@ -16,6 +16,7 @@ export const RatingsStepTypeSchema = z.object({
16
16
  payload: RatingsStepPayloadSchema,
17
17
  customPayload: CustomPayloadSchema,
18
18
  continueButtonLabel: z.string().optional().default("Continue"),
19
+ buttonSection: ButtonSectionSchema.optional(),
19
20
  figmaUrl: z.string().nullish(),
20
21
  });
21
22
 
@@ -23,3 +23,8 @@ export const InfoBoxSchema = z.object({
23
23
  title: z.string(),
24
24
  content: z.string(),
25
25
  });
26
+
27
+ export const ButtonSectionSchema = z.object({
28
+ label: z.string().optional(),
29
+ icon: z.string().nullish(),
30
+ });
@@ -2,6 +2,7 @@ import { CarouselStepType } from "./Carousel/types";
2
2
  import { CommitmentStepType } from "./Commitment/types";
3
3
  import { LoaderStepType } from "./Loader/types";
4
4
  import { MediaContentStepType } from "./MediaContent/types";
5
+ import { ComposableScreenStepType } from "./ComposableScreen/types";
5
6
  import { PickerStepType } from "./Picker/types";
6
7
  import { QuestionStepType } from "./Question/types";
7
8
  import { RatingsStepType } from "./Ratings/types";
@@ -11,6 +12,7 @@ export type OnboardingStepType =
11
12
  | CommitmentStepType
12
13
  | LoaderStepType
13
14
  | MediaContentStepType
15
+ | ComposableScreenStepType
14
16
  | PickerStepType
15
17
  | QuestionStepType
16
18
  | RatingsStepType;