@rocapine/react-native-onboarding-ui 1.3.0 → 1.5.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.
@@ -1 +1 @@
1
- {"version":3,"file":"Renderer.d.ts","sourceRoot":"","sources":["../../../../src/UI/Pages/ComposableScreen/Renderer.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAA6C,MAAM,SAAS,CAAC;AAC9F,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAO1C,KAAK,YAAY,GAAG;IAClB,IAAI,EAAE,wBAAwB,CAAC;IAC/B,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAAC;AA8JF,eAAO,MAAM,wBAAwB;;;CAAsE,CAAC"}
1
+ {"version":3,"file":"Renderer.d.ts","sourceRoot":"","sources":["../../../../src/UI/Pages/ComposableScreen/Renderer.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAA6C,MAAM,SAAS,CAAC;AAC9F,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAoE1C,KAAK,YAAY,GAAG;IAClB,IAAI,EAAE,wBAAwB,CAAC;IAC/B,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAAC;AA0TF,eAAO,MAAM,wBAAwB;;;CAAsE,CAAC"}
@@ -8,8 +8,46 @@ const defaultTheme_1 = require("../../Theme/defaultTheme");
8
8
  const helpers_1 = require("../../Theme/helpers");
9
9
  const ErrorBoundary_1 = require("../../ErrorBoundary");
10
10
  const OnboardingTemplate_1 = require("../../Templates/OnboardingTemplate");
11
+ let LottieView = null;
12
+ try {
13
+ LottieView = require("lottie-react-native").default;
14
+ }
15
+ catch (_a) {
16
+ // lottie-react-native not installed
17
+ }
18
+ let VideoElementComponent = null;
19
+ try {
20
+ const { VideoView, useVideoPlayer } = require("expo-video");
21
+ VideoElementComponent = ({ element, style }) => {
22
+ var _a;
23
+ const player = useVideoPlayer(element.props.url, (p) => {
24
+ var _a, _b;
25
+ p.loop = (_a = element.props.loop) !== null && _a !== void 0 ? _a : false;
26
+ p.muted = (_b = element.props.muted) !== null && _b !== void 0 ? _b : true;
27
+ if (element.props.autoPlay)
28
+ p.play();
29
+ });
30
+ return ((0, jsx_runtime_1.jsx)(VideoView, { player: player, style: style, allowsFullscreen: false, nativeControls: (_a = element.props.controls) !== null && _a !== void 0 ? _a : false }));
31
+ };
32
+ }
33
+ catch (_b) {
34
+ // expo-video not installed
35
+ }
36
+ let RiveElementComponent = null;
37
+ try {
38
+ const riveModule = require("rive-react-native");
39
+ const Rive = riveModule.default;
40
+ const { Fit, Alignment } = riveModule;
41
+ RiveElementComponent = ({ element, riveStyle }) => {
42
+ var _a;
43
+ return ((0, jsx_runtime_1.jsx)(Rive, { url: element.props.url, autoplay: (_a = element.props.autoplay) !== null && _a !== void 0 ? _a : true, fit: element.props.fit ? Fit[element.props.fit] : Fit.Contain, alignment: element.props.alignment ? Alignment[element.props.alignment] : Alignment.Center, artboardName: element.props.artboardName, stateMachineName: element.props.stateMachineName, style: riveStyle, onError: console.error }));
44
+ };
45
+ }
46
+ catch (_c) {
47
+ // rive-react-native not installed - will show fallback if Rive is used
48
+ }
11
49
  const renderElement = (element, theme, parentType) => {
12
- var _a, _b, _c, _d, _e;
50
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
13
51
  if (element.type === "YStack" || element.type === "XStack") {
14
52
  return ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: {
15
53
  flexDirection: element.type === "XStack" ? "row" : "column",
@@ -82,6 +120,87 @@ const renderElement = (element, theme, parentType) => {
82
120
  paddingVertical: element.props.paddingVertical,
83
121
  } }, element.id));
84
122
  }
123
+ if (element.type === "Lottie") {
124
+ const wrapperStyle = {
125
+ width: (_f = element.props.width) !== null && _f !== void 0 ? _f : "100%",
126
+ height: (_g = element.props.height) !== null && _g !== void 0 ? _g : 200,
127
+ opacity: element.props.opacity,
128
+ margin: element.props.margin,
129
+ marginHorizontal: element.props.marginHorizontal,
130
+ marginVertical: element.props.marginVertical,
131
+ padding: element.props.padding,
132
+ paddingHorizontal: element.props.paddingHorizontal,
133
+ paddingVertical: element.props.paddingVertical,
134
+ borderWidth: element.props.borderWidth,
135
+ borderRadius: element.props.borderRadius,
136
+ borderColor: element.props.borderColor,
137
+ overflow: "hidden",
138
+ };
139
+ if (!LottieView) {
140
+ return ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: [wrapperStyle, styles.mediaFallback, { backgroundColor: theme.colors.neutral.lowest }], children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [styles.mediaFallbackText, (0, helpers_1.getTextStyle)(theme, "caption"), { color: theme.colors.text.tertiary }], children: "Install lottie-react-native to render Lottie animations." }) }, element.id));
141
+ }
142
+ return ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: wrapperStyle, children: (0, jsx_runtime_1.jsx)(LottieView, { source: { uri: element.props.source }, autoPlay: (_h = element.props.autoPlay) !== null && _h !== void 0 ? _h : true, loop: (_j = element.props.loop) !== null && _j !== void 0 ? _j : true, speed: element.props.speed, style: styles.fill }) }, element.id));
143
+ }
144
+ if (element.type === "Rive") {
145
+ const wrapperStyle = {
146
+ width: (_k = element.props.width) !== null && _k !== void 0 ? _k : "100%",
147
+ height: (_l = element.props.height) !== null && _l !== void 0 ? _l : 200,
148
+ opacity: element.props.opacity,
149
+ margin: element.props.margin,
150
+ marginHorizontal: element.props.marginHorizontal,
151
+ marginVertical: element.props.marginVertical,
152
+ padding: element.props.padding,
153
+ paddingHorizontal: element.props.paddingHorizontal,
154
+ paddingVertical: element.props.paddingVertical,
155
+ borderWidth: element.props.borderWidth,
156
+ borderRadius: element.props.borderRadius,
157
+ borderColor: element.props.borderColor,
158
+ overflow: "hidden",
159
+ };
160
+ if (!RiveElementComponent) {
161
+ return ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: [wrapperStyle, styles.mediaFallback, { backgroundColor: theme.colors.neutral.lowest }], children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [styles.mediaFallbackText, (0, helpers_1.getTextStyle)(theme, "caption"), { color: theme.colors.text.tertiary }], children: "Install rive-react-native to render Rive animations." }) }, element.id));
162
+ }
163
+ return ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: wrapperStyle, children: (0, jsx_runtime_1.jsx)(RiveElementComponent, { element: element, riveStyle: styles.fill }) }, element.id));
164
+ }
165
+ if (element.type === "Icon") {
166
+ const icons = require("lucide-react-native");
167
+ const IconComp = icons[element.props.name];
168
+ return ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: {
169
+ width: element.props.width,
170
+ height: element.props.height,
171
+ margin: element.props.margin,
172
+ marginHorizontal: element.props.marginHorizontal,
173
+ marginVertical: element.props.marginVertical,
174
+ padding: element.props.padding,
175
+ paddingHorizontal: element.props.paddingHorizontal,
176
+ paddingVertical: element.props.paddingVertical,
177
+ borderWidth: element.props.borderWidth,
178
+ borderRadius: element.props.borderRadius,
179
+ borderColor: element.props.borderColor,
180
+ opacity: element.props.opacity,
181
+ }, children: IconComp ? ((0, jsx_runtime_1.jsx)(IconComp, { size: (_m = element.props.size) !== null && _m !== void 0 ? _m : 24, color: (_o = element.props.color) !== null && _o !== void 0 ? _o : theme.colors.text.primary, strokeWidth: (_p = element.props.strokeWidth) !== null && _p !== void 0 ? _p : 2 })) : null }, element.id));
182
+ }
183
+ if (element.type === "Video") {
184
+ const wrapperStyle = {
185
+ width: (_q = element.props.width) !== null && _q !== void 0 ? _q : "100%",
186
+ height: (_r = element.props.height) !== null && _r !== void 0 ? _r : 200,
187
+ opacity: element.props.opacity,
188
+ margin: element.props.margin,
189
+ marginHorizontal: element.props.marginHorizontal,
190
+ marginVertical: element.props.marginVertical,
191
+ padding: element.props.padding,
192
+ paddingHorizontal: element.props.paddingHorizontal,
193
+ paddingVertical: element.props.paddingVertical,
194
+ borderWidth: element.props.borderWidth,
195
+ borderRadius: element.props.borderRadius,
196
+ borderColor: element.props.borderColor,
197
+ overflow: "hidden",
198
+ };
199
+ if (!VideoElementComponent) {
200
+ return ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: [wrapperStyle, styles.mediaFallback, { backgroundColor: theme.colors.neutral.lowest }], children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [styles.mediaFallbackText, (0, helpers_1.getTextStyle)(theme, "caption"), { color: theme.colors.text.tertiary }], children: "Install expo-video to render videos." }) }, element.id));
201
+ }
202
+ return ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: wrapperStyle, children: (0, jsx_runtime_1.jsx)(VideoElementComponent, { element: element, style: styles.fill }) }, element.id));
203
+ }
85
204
  return null;
86
205
  };
87
206
  const ComposableScreenRendererBase = ({ step, onContinue, theme = defaultTheme_1.defaultTheme }) => {
@@ -96,6 +215,10 @@ const styles = react_native_1.StyleSheet.create({
96
215
  container: {
97
216
  flex: 1,
98
217
  },
218
+ fill: {
219
+ width: "100%",
220
+ height: "100%",
221
+ },
99
222
  scrollContent: {
100
223
  flexGrow: 1,
101
224
  },
@@ -110,6 +233,14 @@ const styles = react_native_1.StyleSheet.create({
110
233
  minWidth: 234,
111
234
  alignItems: "center",
112
235
  },
236
+ mediaFallback: {
237
+ alignItems: "center",
238
+ justifyContent: "center",
239
+ },
240
+ mediaFallbackText: {
241
+ textAlign: "center",
242
+ paddingHorizontal: 16,
243
+ },
113
244
  });
114
245
  exports.ComposableScreenRenderer = (0, ErrorBoundary_1.withErrorBoundary)(ComposableScreenRendererBase, "ComposableScreen");
115
246
  //# sourceMappingURL=Renderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../../../../src/UI/Pages/ComposableScreen/Renderer.tsx"],"names":[],"mappings":";;;;AACA,+CAA2F;AAC3F,mCAA8F;AAE9F,2DAAwD;AACxD,iDAAmD;AAEnD,uDAAwD;AACxD,2EAAwE;AAQxE,MAAM,aAAa,GAAG,CAAC,OAAkB,EAAE,KAAY,EAAE,UAAgC,EAAmB,EAAE;;IAC5G,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3D,OAAO,CACL,uBAAC,mBAAI,IAEH,KAAK,EAAE;gBACL,aAAa,EAAE,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ;gBAC3D,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG;gBACtB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO;gBAC9B,iBAAiB,EAAE,OAAO,CAAC,KAAK,CAAC,iBAAiB;gBAClD,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,eAAe;gBAC9C,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM;gBAC5B,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC,gBAAgB;gBAChD,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc;gBAC5C,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;gBACxB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK;gBAC1B,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM;gBAC5B,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ;gBAChC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ;gBAChC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS;gBAClC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS;gBAClC,UAAU,EAAE,MAAA,OAAO,CAAC,KAAK,CAAC,UAAU,mCAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACjF,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ;gBAChC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU;gBACpC,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc;gBAC5C,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,eAAe;gBAC9C,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW;gBACtC,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY;gBACxC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW;gBACtC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ;gBAChC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO;aAC/B,YAEA,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,IA7BtE,OAAO,CAAC,EAAE,CA8BV,CACR,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5B,OAAO,CACL,uBAAC,mBAAI,IAEH,KAAK,EAAE;gBACL,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ;gBAChC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,UAAiB;gBAC3C,KAAK,EAAE,MAAA,OAAO,CAAC,KAAK,CAAC,KAAK,mCAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO;gBACvD,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS;gBAClC,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,aAAa;gBAC1C,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU;gBACpC,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,eAAe;gBAC9C,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO;gBAC9B,iBAAiB,EAAE,OAAO,CAAC,KAAK,CAAC,iBAAiB;gBAClD,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,eAAe;gBAC9C,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM;gBAC5B,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC,gBAAgB;gBAChD,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc;gBAC5C,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW;gBACtC,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY;gBACxC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW;gBACtC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO;gBAC9B,UAAU,EAAE,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;aACpD,YAEA,OAAO,CAAC,KAAK,CAAC,OAAO,IAtBjB,OAAO,CAAC,EAAE,CAuBV,CACR,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,MAAM,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC;QAC7D,MAAM,WAAW,GAAG,iBAAiB;YACnC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,CAAC,MAAA,OAAO,CAAC,KAAK,CAAC,WAAW,mCAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QAC1C,OAAO,CACL,uBAAC,oBAAK,IAEJ,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,EAClC,UAAU,EAAE,MAAA,OAAO,CAAC,KAAK,CAAC,UAAU,mCAAI,OAAO,EAC/C,KAAK,EAAE;gBACL,KAAK,EAAE,MAAA,OAAO,CAAC,KAAK,CAAC,KAAK,mCAAI,MAAM;gBACpC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM;gBAC5B,WAAW;gBACX,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY;gBACxC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW;gBACtC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW;gBACtC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO;gBAC9B,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM;gBAC5B,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC,gBAAgB;gBAChD,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc;gBAC5C,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO;gBAC9B,iBAAiB,EAAE,OAAO,CAAC,KAAK,CAAC,iBAAiB;gBAClD,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,eAAe;aAC/C,IAjBI,OAAO,CAAC,EAAE,CAkBf,CACH,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,4BAA4B,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,GAAG,2BAAY,EAAgB,EAAE,EAAE;IAChG,MAAM,aAAa,GAAG,sCAA8B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjE,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC;IAC3C,OAAO,CACL,uBAAC,uCAAkB,IACjB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,YAEZ,wBAAC,yBAAU,IACT,qBAAqB,EAAE,MAAM,CAAC,aAAa,EAC3C,4BAA4B,EAAE,KAAK,EACnC,oBAAoB,EAAE,KAAK,aAE1B,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EACzD,uBAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,aAAa,YAC/B,uBAAC,+BAAgB,IACf,KAAK,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EACpE,OAAO,EAAE,UAAU,EACnB,aAAa,EAAE,GAAG,YAElB,uBAAC,mBAAI,IACH,KAAK,EAAE;gCACL,IAAA,sBAAY,EAAC,KAAK,EAAE,QAAQ,CAAC;gCAC7B,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE;6BACtC,YAEA,aAAa,CAAC,mBAAmB,GAC7B,GACU,GACd,IACI,GACM,CACtB,CAAA;AACH,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,yBAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,IAAI,EAAE,CAAC;KACR;IACD,aAAa,EAAE;QACb,QAAQ,EAAE,CAAC;KACZ;IACD,aAAa,EAAE;QACb,iBAAiB,EAAE,EAAE;QACrB,UAAU,EAAE,QAAQ;KACrB;IACD,SAAS,EAAE;QACT,YAAY,EAAE,EAAE;QAChB,eAAe,EAAE,EAAE;QACnB,iBAAiB,EAAE,EAAE;QACrB,QAAQ,EAAE,GAAG;QACb,UAAU,EAAE,QAAQ;KACrB;CACF,CAAC,CAAC;AAEU,QAAA,wBAAwB,GAAG,IAAA,iCAAiB,EAAC,4BAA4B,EAAE,kBAAkB,CAAC,CAAC"}
1
+ {"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../../../../src/UI/Pages/ComposableScreen/Renderer.tsx"],"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
  export type UIElement = {
3
17
  id: string;
4
18
  name?: string;
@@ -58,22 +72,53 @@ export type UIElement = {
58
72
  id: string;
59
73
  name?: string;
60
74
  type: "Image";
61
- props: {
75
+ props: BaseBoxProps & {
62
76
  url: string;
63
- width?: number;
64
- height?: number;
65
77
  aspectRatio?: number;
66
78
  resizeMode?: "cover" | "contain" | "stretch" | "center";
67
- borderRadius?: number;
68
- borderWidth?: number;
69
- borderColor?: string;
70
- opacity?: number;
71
- margin?: number;
72
- marginHorizontal?: number;
73
- marginVertical?: number;
74
- padding?: number;
75
- paddingHorizontal?: number;
76
- paddingVertical?: number;
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
+ };
102
+ } | {
103
+ id: string;
104
+ name?: string;
105
+ type: "Icon";
106
+ props: BaseBoxProps & {
107
+ name: string;
108
+ size?: number;
109
+ color?: string;
110
+ strokeWidth?: number;
111
+ };
112
+ } | {
113
+ id: string;
114
+ name?: string;
115
+ type: "Video";
116
+ props: BaseBoxProps & {
117
+ url: string;
118
+ autoPlay?: boolean;
119
+ loop?: boolean;
120
+ muted?: boolean;
121
+ controls?: boolean;
77
122
  };
78
123
  };
79
124
  export declare const UIElementSchema: z.ZodType<UIElement>;
@@ -93,4 +138,5 @@ export declare const ComposableScreenStepTypeSchema: z.ZodObject<{
93
138
  figmaUrl: z.ZodNullable<z.ZodString>;
94
139
  }, z.core.$strip>;
95
140
  export type ComposableScreenStepType = z.infer<typeof ComposableScreenStepTypeSchema>;
141
+ export {};
96
142
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/UI/Pages/ComposableScreen/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/UI/Pages/ComposableScreen/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,KAAK,YAAY,GAAG;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,SAAS,GACjB;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,GACD;IACE,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,YAAY,GAAG;QACpB,GAAG,EAAE,MAAM,CAAC;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;KACzD,CAAC;CACH,GACD;IACE,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,YAAY,GAAG;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,GACD;IACE,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,YAAY,GAAG;QACpB,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,GAAG,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;QAChG,SAAS,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,YAAY,GAAG,QAAQ,GAAG,aAAa,GAAG,YAAY,GAAG,cAAc,GAAG,aAAa,CAAC;QAC3I,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH,GACD;IACE,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,YAAY,GAAG;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH,GACD;IACE,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,YAAY,GAAG;QACpB,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;CACH,CAAC;AAsGN,eAAO,MAAM,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CA8ChD,CAAC;AAEF,eAAO,MAAM,iCAAiC;;iBAE5C,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;;;;;;;iBASzC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC"}
@@ -3,6 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ComposableScreenStepTypeSchema = exports.ComposableScreenStepPayloadSchema = exports.UIElementSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const types_1 = require("../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,22 +63,37 @@ 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
  });
52
- const ImageElementPropsSchema = zod_1.z.object({
66
+ const ImageElementPropsSchema = BaseBoxPropsSchema.extend({
53
67
  url: zod_1.z.string(),
54
- width: zod_1.z.number().optional(),
55
- height: zod_1.z.number().optional(),
56
68
  aspectRatio: zod_1.z.number().optional(),
57
69
  resizeMode: zod_1.z.enum(["cover", "contain", "stretch", "center"]).optional(),
58
- borderRadius: zod_1.z.number().optional(),
59
- borderWidth: zod_1.z.number().optional(),
60
- borderColor: zod_1.z.string().optional(),
61
- opacity: zod_1.z.number().min(0).max(1).optional(),
62
- margin: zod_1.z.number().optional(),
63
- marginHorizontal: zod_1.z.number().optional(),
64
- marginVertical: zod_1.z.number().optional(),
65
- padding: zod_1.z.number().optional(),
66
- paddingHorizontal: zod_1.z.number().optional(),
67
- paddingVertical: zod_1.z.number().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
+ });
85
+ const IconElementPropsSchema = BaseBoxPropsSchema.extend({
86
+ name: zod_1.z.string(),
87
+ size: zod_1.z.number().optional(),
88
+ color: zod_1.z.string().optional(),
89
+ strokeWidth: zod_1.z.number().optional(),
90
+ });
91
+ const VideoElementPropsSchema = BaseBoxPropsSchema.extend({
92
+ url: zod_1.z.string(),
93
+ autoPlay: zod_1.z.boolean().optional(),
94
+ loop: zod_1.z.boolean().optional(),
95
+ muted: zod_1.z.boolean().optional(),
96
+ controls: zod_1.z.boolean().optional(),
68
97
  });
69
98
  exports.UIElementSchema = zod_1.z.lazy(() => zod_1.z.union([
70
99
  zod_1.z.object({
@@ -86,6 +115,30 @@ exports.UIElementSchema = zod_1.z.lazy(() => zod_1.z.union([
86
115
  type: zod_1.z.literal("Image"),
87
116
  props: ImageElementPropsSchema,
88
117
  }),
118
+ zod_1.z.object({
119
+ id: zod_1.z.string(),
120
+ name: zod_1.z.string().optional(),
121
+ type: zod_1.z.literal("Lottie"),
122
+ props: LottieElementPropsSchema,
123
+ }),
124
+ zod_1.z.object({
125
+ id: zod_1.z.string(),
126
+ name: zod_1.z.string().optional(),
127
+ type: zod_1.z.literal("Rive"),
128
+ props: RiveElementPropsSchema,
129
+ }),
130
+ zod_1.z.object({
131
+ id: zod_1.z.string(),
132
+ name: zod_1.z.string().optional(),
133
+ type: zod_1.z.literal("Icon"),
134
+ props: IconElementPropsSchema,
135
+ }),
136
+ zod_1.z.object({
137
+ id: zod_1.z.string(),
138
+ name: zod_1.z.string().optional(),
139
+ type: zod_1.z.literal("Video"),
140
+ props: VideoElementPropsSchema,
141
+ }),
89
142
  ]));
90
143
  exports.ComposableScreenStepPayloadSchema = zod_1.z.object({
91
144
  elements: zod_1.z.array(exports.UIElementSchema),
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/UI/Pages/ComposableScreen/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/UI/Pages/ComposableScreen/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rocapine/react-native-onboarding-ui",
3
- "version": "1.3.0",
3
+ "version": "1.5.0",
4
4
  "description": "UI components and renderers for Rocapine Onboarding Studio - Built on top of the headless SDK",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -29,29 +29,32 @@
29
29
  },
30
30
  "devDependencies": {
31
31
  "@react-native-picker/picker": "^2.11.2",
32
- "@shopify/react-native-skia": "^2.3.0",
32
+ "@shopify/react-native-skia": "2.4.18",
33
33
  "@types/react": "^19.0.0",
34
- "expo-router": "^4.0.0",
35
- "expo-store-review": "^9.0.8",
36
- "react": "19.1.0",
37
- "react-native": "0.81.4",
34
+ "expo-router": "~55.0.12",
35
+ "expo-store-review": "~55.0.13",
36
+ "react": "19.2.0",
37
+ "react-native": "0.83.4",
38
38
  "react-native-gesture-handler": "^2.28.0",
39
39
  "react-native-reanimated": "^4.1.2",
40
40
  "react-native-safe-area-context": "^5.6.1",
41
- "react-native-svg": "^15.13.0",
41
+ "react-native-svg": "15.15.3",
42
42
  "typescript": "^5.0.0"
43
43
  },
44
44
  "peerDependencies": {
45
45
  "@react-native-picker/picker": "*",
46
- "@rocapine/react-native-onboarding": "^1.0.0",
46
+ "@rocapine/react-native-onboarding": "^1.5.0",
47
47
  "@shopify/react-native-skia": ">=1.0.0",
48
48
  "@tanstack/react-query": ">=5.0.0",
49
49
  "@types/react": "*",
50
50
  "expo-router": ">=3.0.0",
51
51
  "expo-store-review": "*",
52
+ "lottie-react-native": "*",
52
53
  "react": "*",
53
54
  "react-native": "*",
54
- "react-native-safe-area-context": "*"
55
+ "react-native-safe-area-context": "*",
56
+ "rive-react-native": "*",
57
+ "expo-video": "*"
55
58
  },
56
59
  "peerDependenciesMeta": {
57
60
  "@react-native-picker/picker": {
@@ -62,6 +65,15 @@
62
65
  },
63
66
  "expo-store-review": {
64
67
  "optional": true
68
+ },
69
+ "lottie-react-native": {
70
+ "optional": true
71
+ },
72
+ "rive-react-native": {
73
+ "optional": true
74
+ },
75
+ "expo-video": {
76
+ "optional": true
65
77
  }
66
78
  },
67
79
  "files": [
@@ -4,10 +4,71 @@ import { ComposableScreenStepType, ComposableScreenStepTypeSchema, UIElement } f
4
4
  import { Theme } from "../../Theme/types";
5
5
  import { defaultTheme } from "../../Theme/defaultTheme";
6
6
  import { getTextStyle } from "../../Theme/helpers";
7
-
8
7
  import { withErrorBoundary } from "../../ErrorBoundary";
9
8
  import { OnboardingTemplate } from "../../Templates/OnboardingTemplate";
10
9
 
10
+ let LottieView: React.ComponentType<{
11
+ source: string | object;
12
+ autoPlay?: boolean;
13
+ loop?: boolean;
14
+ speed?: number;
15
+ style?: object;
16
+ }> | null = null;
17
+ try {
18
+ LottieView = require("lottie-react-native").default;
19
+ } catch {
20
+ // lottie-react-native not installed
21
+ }
22
+
23
+ // Metro cannot tree-shake optional peer deps at runtime; the try/catch pattern
24
+ // below is the standard React Native approach for optional native modules.
25
+ type VideoUIElement = Extract<UIElement, { type: "Video" }>;
26
+ let VideoElementComponent: React.ComponentType<{ element: VideoUIElement; style: object }> | null = null;
27
+ try {
28
+ const { VideoView, useVideoPlayer } = require("expo-video");
29
+ VideoElementComponent = ({ element, style }: { element: VideoUIElement; style: object }) => {
30
+ const player = useVideoPlayer(element.props.url, (p: any) => {
31
+ p.loop = element.props.loop ?? false;
32
+ p.muted = element.props.muted ?? true;
33
+ if (element.props.autoPlay) p.play();
34
+ });
35
+ return (
36
+ <VideoView
37
+ player={player}
38
+ style={style}
39
+ allowsFullscreen={false}
40
+ nativeControls={element.props.controls ?? false}
41
+ />
42
+ );
43
+ };
44
+ } catch {
45
+ // expo-video not installed
46
+ }
47
+
48
+ type RiveUIElement = Extract<UIElement, { type: "Rive" }>;
49
+ let RiveElementComponent: React.ComponentType<{ element: RiveUIElement; riveStyle: object }> | null = null;
50
+ try {
51
+ const riveModule = require("rive-react-native");
52
+ const Rive = riveModule.default;
53
+ const { Fit, Alignment } = riveModule;
54
+ RiveElementComponent = ({ element, riveStyle }: { element: RiveUIElement; riveStyle: object }) => {
55
+ return (
56
+ <Rive
57
+ url={element.props.url}
58
+ autoplay={element.props.autoplay ?? true}
59
+ fit={element.props.fit ? Fit[element.props.fit] : Fit.Contain}
60
+ alignment={element.props.alignment ? Alignment[element.props.alignment] : Alignment.Center}
61
+ artboardName={element.props.artboardName}
62
+ stateMachineName={element.props.stateMachineName}
63
+ style={riveStyle}
64
+ onError={console.error}
65
+ />
66
+ );
67
+ };
68
+ } catch {
69
+ // rive-react-native not installed - will show fallback if Rive is used
70
+ }
71
+
11
72
  type ContentProps = {
12
73
  step: ComposableScreenStepType;
13
74
  onContinue: () => void;
@@ -111,6 +172,150 @@ const renderElement = (element: UIElement, theme: Theme, parentType?: "XStack" |
111
172
  );
112
173
  }
113
174
 
175
+ if (element.type === "Lottie") {
176
+ const wrapperStyle = {
177
+ width: element.props.width ?? ("100%" as `${number}%`),
178
+ height: element.props.height ?? 200,
179
+ opacity: element.props.opacity,
180
+ margin: element.props.margin,
181
+ marginHorizontal: element.props.marginHorizontal,
182
+ marginVertical: element.props.marginVertical,
183
+ padding: element.props.padding,
184
+ paddingHorizontal: element.props.paddingHorizontal,
185
+ paddingVertical: element.props.paddingVertical,
186
+ borderWidth: element.props.borderWidth,
187
+ borderRadius: element.props.borderRadius,
188
+ borderColor: element.props.borderColor,
189
+ overflow: "hidden" as const,
190
+ };
191
+
192
+ if (!LottieView) {
193
+ return (
194
+ <View key={element.id} style={[wrapperStyle, styles.mediaFallback, { backgroundColor: theme.colors.neutral.lowest }]}>
195
+ <Text style={[styles.mediaFallbackText, getTextStyle(theme, "caption"), { color: theme.colors.text.tertiary }]}>
196
+ Install lottie-react-native to render Lottie animations.
197
+ </Text>
198
+ </View>
199
+ );
200
+ }
201
+
202
+ return (
203
+ <View key={element.id} style={wrapperStyle}>
204
+ <LottieView
205
+ source={{ uri: element.props.source }}
206
+ autoPlay={element.props.autoPlay ?? true}
207
+ loop={element.props.loop ?? true}
208
+ speed={element.props.speed}
209
+ style={styles.fill}
210
+ />
211
+ </View>
212
+ );
213
+ }
214
+
215
+ if (element.type === "Rive") {
216
+ const wrapperStyle = {
217
+ width: element.props.width ?? ("100%" as `${number}%`),
218
+ height: element.props.height ?? 200,
219
+ opacity: element.props.opacity,
220
+ margin: element.props.margin,
221
+ marginHorizontal: element.props.marginHorizontal,
222
+ marginVertical: element.props.marginVertical,
223
+ padding: element.props.padding,
224
+ paddingHorizontal: element.props.paddingHorizontal,
225
+ paddingVertical: element.props.paddingVertical,
226
+ borderWidth: element.props.borderWidth,
227
+ borderRadius: element.props.borderRadius,
228
+ borderColor: element.props.borderColor,
229
+ overflow: "hidden" as const,
230
+ };
231
+
232
+ if (!RiveElementComponent) {
233
+ return (
234
+ <View key={element.id} style={[wrapperStyle, styles.mediaFallback, { backgroundColor: theme.colors.neutral.lowest }]}>
235
+ <Text style={[styles.mediaFallbackText, getTextStyle(theme, "caption"), { color: theme.colors.text.tertiary }]}>
236
+ Install rive-react-native to render Rive animations.
237
+ </Text>
238
+ </View>
239
+ );
240
+ }
241
+
242
+ return (
243
+ <View key={element.id} style={wrapperStyle}>
244
+ <RiveElementComponent element={element} riveStyle={styles.fill} />
245
+ </View>
246
+ );
247
+ }
248
+
249
+ if (element.type === "Icon") {
250
+ const icons = require("lucide-react-native");
251
+ const IconComp = icons[element.props.name] as React.ComponentType<{
252
+ size?: number;
253
+ color?: string;
254
+ strokeWidth?: number;
255
+ }> | undefined;
256
+ return (
257
+ <View
258
+ key={element.id}
259
+ style={{
260
+ width: element.props.width,
261
+ height: element.props.height,
262
+ margin: element.props.margin,
263
+ marginHorizontal: element.props.marginHorizontal,
264
+ marginVertical: element.props.marginVertical,
265
+ padding: element.props.padding,
266
+ paddingHorizontal: element.props.paddingHorizontal,
267
+ paddingVertical: element.props.paddingVertical,
268
+ borderWidth: element.props.borderWidth,
269
+ borderRadius: element.props.borderRadius,
270
+ borderColor: element.props.borderColor,
271
+ opacity: element.props.opacity,
272
+ }}
273
+ >
274
+ {IconComp ? (
275
+ <IconComp
276
+ size={element.props.size ?? 24}
277
+ color={element.props.color ?? theme.colors.text.primary}
278
+ strokeWidth={element.props.strokeWidth ?? 2}
279
+ />
280
+ ) : null}
281
+ </View>
282
+ );
283
+ }
284
+
285
+ if (element.type === "Video") {
286
+ const wrapperStyle = {
287
+ width: element.props.width ?? ("100%" as `${number}%`),
288
+ height: element.props.height ?? 200,
289
+ opacity: element.props.opacity,
290
+ margin: element.props.margin,
291
+ marginHorizontal: element.props.marginHorizontal,
292
+ marginVertical: element.props.marginVertical,
293
+ padding: element.props.padding,
294
+ paddingHorizontal: element.props.paddingHorizontal,
295
+ paddingVertical: element.props.paddingVertical,
296
+ borderWidth: element.props.borderWidth,
297
+ borderRadius: element.props.borderRadius,
298
+ borderColor: element.props.borderColor,
299
+ overflow: "hidden" as const,
300
+ };
301
+
302
+ if (!VideoElementComponent) {
303
+ return (
304
+ <View key={element.id} style={[wrapperStyle, styles.mediaFallback, { backgroundColor: theme.colors.neutral.lowest }]}>
305
+ <Text style={[styles.mediaFallbackText, getTextStyle(theme, "caption"), { color: theme.colors.text.tertiary }]}>
306
+ Install expo-video to render videos.
307
+ </Text>
308
+ </View>
309
+ );
310
+ }
311
+
312
+ return (
313
+ <View key={element.id} style={wrapperStyle}>
314
+ <VideoElementComponent element={element} style={styles.fill} />
315
+ </View>
316
+ );
317
+ }
318
+
114
319
  return null;
115
320
  };
116
321
 
@@ -154,6 +359,10 @@ const styles = StyleSheet.create({
154
359
  container: {
155
360
  flex: 1,
156
361
  },
362
+ fill: {
363
+ width: "100%",
364
+ height: "100%",
365
+ },
157
366
  scrollContent: {
158
367
  flexGrow: 1,
159
368
  },
@@ -168,6 +377,14 @@ const styles = StyleSheet.create({
168
377
  minWidth: 234,
169
378
  alignItems: "center",
170
379
  },
380
+ mediaFallback: {
381
+ alignItems: "center",
382
+ justifyContent: "center",
383
+ },
384
+ mediaFallbackText: {
385
+ textAlign: "center",
386
+ paddingHorizontal: 16,
387
+ },
171
388
  });
172
389
 
173
390
  export const ComposableScreenRenderer = withErrorBoundary(ComposableScreenRendererBase, "ComposableScreen");
@@ -1,6 +1,21 @@
1
1
  import { z } from "zod";
2
2
  import { CustomPayloadSchema } from "../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
  export type UIElement =
5
20
  | {
6
21
  id: string;
@@ -63,25 +78,75 @@ export type UIElement =
63
78
  id: string;
64
79
  name?: string;
65
80
  type: "Image";
66
- props: {
81
+ props: BaseBoxProps & {
67
82
  url: string;
68
- width?: number;
69
- height?: number;
70
83
  aspectRatio?: number;
71
84
  resizeMode?: "cover" | "contain" | "stretch" | "center";
72
- borderRadius?: number;
73
- borderWidth?: number;
74
- borderColor?: string;
75
- opacity?: number;
76
- margin?: number;
77
- marginHorizontal?: number;
78
- marginVertical?: number;
79
- padding?: number;
80
- paddingHorizontal?: number;
81
- paddingVertical?: number;
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
+ };
110
+ }
111
+ | {
112
+ id: string;
113
+ name?: string;
114
+ type: "Icon";
115
+ props: BaseBoxProps & {
116
+ name: string;
117
+ size?: number;
118
+ color?: string;
119
+ strokeWidth?: number;
120
+ };
121
+ }
122
+ | {
123
+ id: string;
124
+ name?: string;
125
+ type: "Video";
126
+ props: BaseBoxProps & {
127
+ url: string;
128
+ autoPlay?: boolean;
129
+ loop?: boolean;
130
+ muted?: boolean;
131
+ controls?: boolean;
82
132
  };
83
133
  };
84
134
 
135
+ const BaseBoxPropsSchema = z.object({
136
+ width: z.number().optional(),
137
+ height: z.number().optional(),
138
+ opacity: z.number().min(0).max(1).optional(),
139
+ margin: z.number().optional(),
140
+ marginHorizontal: z.number().optional(),
141
+ marginVertical: z.number().optional(),
142
+ padding: z.number().optional(),
143
+ paddingHorizontal: z.number().optional(),
144
+ paddingVertical: z.number().optional(),
145
+ borderWidth: z.number().optional(),
146
+ borderRadius: z.number().optional(),
147
+ borderColor: z.string().optional(),
148
+ });
149
+
85
150
  const StackElementPropsSchema = z.object({
86
151
  gap: z.number().optional(),
87
152
  padding: z.number().optional(),
@@ -130,22 +195,41 @@ const TextElementPropsSchema = z.object({
130
195
  opacity: z.number().min(0).max(1).optional(),
131
196
  });
132
197
 
133
- const ImageElementPropsSchema = z.object({
198
+ const ImageElementPropsSchema = BaseBoxPropsSchema.extend({
134
199
  url: z.string(),
135
- width: z.number().optional(),
136
- height: z.number().optional(),
137
200
  aspectRatio: z.number().optional(),
138
201
  resizeMode: z.enum(["cover", "contain", "stretch", "center"]).optional(),
139
- borderRadius: z.number().optional(),
140
- borderWidth: z.number().optional(),
141
- borderColor: z.string().optional(),
142
- opacity: z.number().min(0).max(1).optional(),
143
- margin: z.number().optional(),
144
- marginHorizontal: z.number().optional(),
145
- marginVertical: z.number().optional(),
146
- padding: z.number().optional(),
147
- paddingHorizontal: z.number().optional(),
148
- paddingVertical: z.number().optional(),
202
+ });
203
+
204
+ const LottieElementPropsSchema = BaseBoxPropsSchema.extend({
205
+ source: z.string(),
206
+ autoPlay: z.boolean().optional(),
207
+ loop: z.boolean().optional(),
208
+ speed: z.number().optional(),
209
+ });
210
+
211
+ const RiveElementPropsSchema = BaseBoxPropsSchema.extend({
212
+ url: z.string(),
213
+ autoplay: z.boolean().optional(),
214
+ fit: z.enum(["Contain", "Cover", "Fill", "FitWidth", "FitHeight", "None", "ScaleDown", "Layout"]).optional(),
215
+ alignment: z.enum(["TopLeft", "TopCenter", "TopRight", "CenterLeft", "Center", "CenterRight", "BottomLeft", "BottomCenter", "BottomRight"]).optional(),
216
+ artboardName: z.string().optional(),
217
+ stateMachineName: z.string().optional(),
218
+ });
219
+
220
+ const IconElementPropsSchema = BaseBoxPropsSchema.extend({
221
+ name: z.string(),
222
+ size: z.number().optional(),
223
+ color: z.string().optional(),
224
+ strokeWidth: z.number().optional(),
225
+ });
226
+
227
+ const VideoElementPropsSchema = BaseBoxPropsSchema.extend({
228
+ url: z.string(),
229
+ autoPlay: z.boolean().optional(),
230
+ loop: z.boolean().optional(),
231
+ muted: z.boolean().optional(),
232
+ controls: z.boolean().optional(),
149
233
  });
150
234
 
151
235
  export const UIElementSchema: z.ZodType<UIElement> = z.lazy(() =>
@@ -169,10 +253,33 @@ export const UIElementSchema: z.ZodType<UIElement> = z.lazy(() =>
169
253
  type: z.literal("Image"),
170
254
  props: ImageElementPropsSchema,
171
255
  }),
256
+ z.object({
257
+ id: z.string(),
258
+ name: z.string().optional(),
259
+ type: z.literal("Lottie"),
260
+ props: LottieElementPropsSchema,
261
+ }),
262
+ z.object({
263
+ id: z.string(),
264
+ name: z.string().optional(),
265
+ type: z.literal("Rive"),
266
+ props: RiveElementPropsSchema,
267
+ }),
268
+ z.object({
269
+ id: z.string(),
270
+ name: z.string().optional(),
271
+ type: z.literal("Icon"),
272
+ props: IconElementPropsSchema,
273
+ }),
274
+ z.object({
275
+ id: z.string(),
276
+ name: z.string().optional(),
277
+ type: z.literal("Video"),
278
+ props: VideoElementPropsSchema,
279
+ }),
172
280
  ])
173
281
  );
174
282
 
175
-
176
283
  export const ComposableScreenStepPayloadSchema = z.object({
177
284
  elements: z.array(UIElementSchema),
178
285
  });