@rocapine/react-native-onboarding-ui 1.15.0 → 1.17.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.
- package/dist/UI/Pages/ComposableScreen/Renderer.d.ts.map +1 -1
- package/dist/UI/Pages/ComposableScreen/Renderer.js +2 -1
- package/dist/UI/Pages/ComposableScreen/Renderer.js.map +1 -1
- package/dist/UI/Pages/ComposableScreen/elements/ButtonElement.d.ts +32 -0
- package/dist/UI/Pages/ComposableScreen/elements/ButtonElement.d.ts.map +1 -1
- package/dist/UI/Pages/ComposableScreen/elements/ButtonElement.js +45 -9
- package/dist/UI/Pages/ComposableScreen/elements/ButtonElement.js.map +1 -1
- package/dist/UI/Pages/ComposableScreen/elements/CarouselElement.d.ts.map +1 -1
- package/dist/UI/Pages/ComposableScreen/elements/CarouselElement.js +27 -18
- package/dist/UI/Pages/ComposableScreen/elements/CarouselElement.js.map +1 -1
- package/dist/UI/Pages/ComposableScreen/elements/CheckboxGroupElement.d.ts +5 -0
- package/dist/UI/Pages/ComposableScreen/elements/CheckboxGroupElement.d.ts.map +1 -1
- package/dist/UI/Pages/ComposableScreen/elements/CheckboxGroupElement.js +2 -0
- package/dist/UI/Pages/ComposableScreen/elements/CheckboxGroupElement.js.map +1 -1
- package/dist/UI/Pages/ComposableScreen/elements/InputElement.d.ts +5 -0
- package/dist/UI/Pages/ComposableScreen/elements/InputElement.d.ts.map +1 -1
- package/dist/UI/Pages/ComposableScreen/elements/InputElement.js +6 -2
- package/dist/UI/Pages/ComposableScreen/elements/InputElement.js.map +1 -1
- package/dist/UI/Pages/ComposableScreen/elements/RadioGroupElement.d.ts +5 -0
- package/dist/UI/Pages/ComposableScreen/elements/RadioGroupElement.d.ts.map +1 -1
- package/dist/UI/Pages/ComposableScreen/elements/RadioGroupElement.js +2 -0
- package/dist/UI/Pages/ComposableScreen/elements/RadioGroupElement.js.map +1 -1
- package/dist/UI/Pages/ComposableScreen/elements/TextElement.d.ts +5 -0
- package/dist/UI/Pages/ComposableScreen/elements/TextElement.d.ts.map +1 -1
- package/dist/UI/Pages/ComposableScreen/elements/TextElement.js +6 -2
- package/dist/UI/Pages/ComposableScreen/elements/TextElement.js.map +1 -1
- package/dist/UI/Pages/ComposableScreen/elements/shared.d.ts +2 -0
- package/dist/UI/Pages/ComposableScreen/elements/shared.d.ts.map +1 -1
- package/dist/UI/Pages/ComposableScreen/elements/shared.js.map +1 -1
- package/dist/UI/Provider/OnboardingProgressProvider.d.ts +2 -4
- package/dist/UI/Provider/OnboardingProgressProvider.d.ts.map +1 -1
- package/dist/UI/Provider/OnboardingProgressProvider.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/UI/Pages/ComposableScreen/Renderer.tsx +2 -1
- package/src/UI/Pages/ComposableScreen/elements/ButtonElement.tsx +69 -8
- package/src/UI/Pages/ComposableScreen/elements/CarouselElement.tsx +46 -27
- package/src/UI/Pages/ComposableScreen/elements/CheckboxGroupElement.tsx +3 -0
- package/src/UI/Pages/ComposableScreen/elements/InputElement.tsx +11 -2
- package/src/UI/Pages/ComposableScreen/elements/RadioGroupElement.tsx +3 -0
- package/src/UI/Pages/ComposableScreen/elements/TextElement.tsx +7 -2
- package/src/UI/Pages/ComposableScreen/elements/shared.ts +2 -0
- package/src/UI/Provider/OnboardingProgressProvider.tsx +3 -2
- package/src/index.ts +5 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadioGroupElement.js","sourceRoot":"","sources":["../../../../../src/UI/Pages/ComposableScreen/elements/RadioGroupElement.tsx"],"names":[],"mappings":";;;;AAAA,iCAAyC;AACzC,6BAAwB;AACxB,+CAA4D;AAC5D,iDAAkE;AAElE,qCAA8C;AAC9C,+CAA4C;
|
|
1
|
+
{"version":3,"file":"RadioGroupElement.js","sourceRoot":"","sources":["../../../../../src/UI/Pages/ComposableScreen/elements/RadioGroupElement.tsx"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ export type TextElementProps = BaseBoxProps & {
|
|
|
9
9
|
fontSize?: number;
|
|
10
10
|
fontWeight?: string;
|
|
11
11
|
fontFamily?: string;
|
|
12
|
+
fontStyle?: "normal" | "italic";
|
|
12
13
|
color?: string;
|
|
13
14
|
textAlign?: "left" | "center" | "right";
|
|
14
15
|
letterSpacing?: number;
|
|
@@ -83,6 +84,10 @@ export declare const TextElementPropsSchema: z.ZodObject<{
|
|
|
83
84
|
fontSize: z.ZodOptional<z.ZodNumber>;
|
|
84
85
|
fontWeight: z.ZodOptional<z.ZodString>;
|
|
85
86
|
fontFamily: z.ZodOptional<z.ZodString>;
|
|
87
|
+
fontStyle: z.ZodOptional<z.ZodEnum<{
|
|
88
|
+
normal: "normal";
|
|
89
|
+
italic: "italic";
|
|
90
|
+
}>>;
|
|
86
91
|
color: z.ZodOptional<z.ZodString>;
|
|
87
92
|
textAlign: z.ZodOptional<z.ZodEnum<{
|
|
88
93
|
left: "left";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextElement.d.ts","sourceRoot":"","sources":["../../../../../src/UI/Pages/ComposableScreen/elements/TextElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"TextElement.d.ts","sourceRoot":"","sources":["../../../../../src/UI/Pages/ComposableScreen/elements/TextElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,YAAY,EAAsB,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,aAAa,EAAoB,MAAM,UAAU,CAAC;AAG3D,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,GAAG,YAAY,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAWjC,CAAC;AAEH,KAAK,aAAa,GAAG,OAAO,CAAC,SAAS,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE1D,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,aAAa,CAAC;IACvB,GAAG,EAAE,aAAa,CAAC;IACnB,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;CAC7C,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,8BAA8B,KAAK,KAAG,KAAK,CAAC,YAiFhF,CAAC"}
|
|
@@ -4,6 +4,7 @@ exports.TextElementComponent = exports.TextElementPropsSchema = void 0;
|
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const zod_1 = require("zod");
|
|
6
6
|
const react_native_1 = require("react-native");
|
|
7
|
+
const react_native_onboarding_1 = require("@rocapine/react-native-onboarding");
|
|
7
8
|
const BaseBoxProps_1 = require("./BaseBoxProps");
|
|
8
9
|
const shared_1 = require("./shared");
|
|
9
10
|
const GradientBox_1 = require("./GradientBox");
|
|
@@ -13,6 +14,7 @@ exports.TextElementPropsSchema = BaseBoxProps_1.BaseBoxPropsSchema.extend({
|
|
|
13
14
|
fontSize: zod_1.z.number().optional(),
|
|
14
15
|
fontWeight: zod_1.z.string().optional(),
|
|
15
16
|
fontFamily: zod_1.z.string().optional(),
|
|
17
|
+
fontStyle: zod_1.z.enum(["normal", "italic"]).optional(),
|
|
16
18
|
color: zod_1.z.string().optional(),
|
|
17
19
|
textAlign: zod_1.z.enum(["left", "center", "right"]).optional(),
|
|
18
20
|
letterSpacing: zod_1.z.number().optional(),
|
|
@@ -25,6 +27,7 @@ const TextElementComponent = ({ element, ctx, parentType }) => {
|
|
|
25
27
|
const content = p.mode === "expression"
|
|
26
28
|
? (0, shared_1.interpolate)(p.content, variables)
|
|
27
29
|
: p.content;
|
|
30
|
+
const resolvedFont = (0, react_native_onboarding_1.useResolvedFontStyle)(p.fontFamily, p.fontWeight);
|
|
28
31
|
const textNode = ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: {
|
|
29
32
|
flex: p.flex,
|
|
30
33
|
flexShrink: (_a = p.flexShrink) !== null && _a !== void 0 ? _a : (parentType === "XStack" ? 1 : undefined),
|
|
@@ -37,8 +40,9 @@ const TextElementComponent = ({ element, ctx, parentType }) => {
|
|
|
37
40
|
minHeight: p.backgroundGradient ? undefined : p.minHeight,
|
|
38
41
|
maxHeight: p.backgroundGradient ? undefined : p.maxHeight,
|
|
39
42
|
fontSize: p.fontSize,
|
|
40
|
-
fontWeight: p.fontWeight,
|
|
41
|
-
fontFamily:
|
|
43
|
+
fontWeight: resolvedFont.resolvedToVariant ? undefined : p.fontWeight,
|
|
44
|
+
fontFamily: resolvedFont.fontFamily,
|
|
45
|
+
fontStyle: p.fontStyle,
|
|
42
46
|
color: (_b = p.color) !== null && _b !== void 0 ? _b : theme.colors.text.primary,
|
|
43
47
|
textAlign: p.textAlign,
|
|
44
48
|
letterSpacing: p.letterSpacing,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextElement.js","sourceRoot":"","sources":["../../../../../src/UI/Pages/ComposableScreen/elements/TextElement.tsx"],"names":[],"mappings":";;;;AACA,6BAAwB;AACxB,+CAAoC;AACpC,iDAAkE;AAElE,qCAA2D;AAC3D,+CAA4C;
|
|
1
|
+
{"version":3,"file":"TextElement.js","sourceRoot":"","sources":["../../../../../src/UI/Pages/ComposableScreen/elements/TextElement.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
import { CustomActions } from "@rocapine/react-native-onboarding";
|
|
2
3
|
import { UIElement } from "../types";
|
|
3
4
|
import { Theme } from "../../../Theme/types";
|
|
4
5
|
import { ComposableVariableEntry } from "../../../Provider/OnboardingProgressProvider";
|
|
@@ -7,6 +8,7 @@ export type RenderContext = {
|
|
|
7
8
|
variables: Record<string, ComposableVariableEntry>;
|
|
8
9
|
setVariable: (key: string, entry: ComposableVariableEntry) => void;
|
|
9
10
|
onContinue: () => void;
|
|
11
|
+
customActions: CustomActions;
|
|
10
12
|
renderChildren: (elements: UIElement[], parentType: "XStack" | "YStack" | "ZStack") => React.ReactNode;
|
|
11
13
|
};
|
|
12
14
|
export declare const interpolate: (template: string, variables: Record<string, ComposableVariableEntry>) => string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../../src/UI/Pages/ComposableScreen/elements/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AAEvF,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IACnD,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,KAAK,IAAI,CAAC;IACnE,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,cAAc,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,KAAK,KAAK,CAAC,SAAS,CAAC;CACxG,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,UAAU,MAAM,EAAE,WAAW,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,KAAG,MACM,CAAC;AAG1G,eAAO,MAAM,GAAG,GAAI,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,KAAG,OAAO,cAAc,EAAE,cAAc,GAAG,SACrC,CAAC"}
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../../src/UI/Pages/ComposableScreen/elements/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AAEvF,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IACnD,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,KAAK,IAAI,CAAC;IACnE,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,KAAK,KAAK,CAAC,SAAS,CAAC;CACxG,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,UAAU,MAAM,EAAE,WAAW,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,KAAG,MACM,CAAC;AAG1G,eAAO,MAAM,GAAG,GAAI,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,KAAG,OAAO,cAAc,EAAE,cAAc,GAAG,SACrC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../../src/UI/Pages/ComposableScreen/elements/shared.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../../src/UI/Pages/ComposableScreen/elements/shared.ts"],"names":[],"mappings":";;;AAeO,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,SAAkD,EAAU,EAAE,CAC1G,QAAQ,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,uBAAC,OAAA,MAAA,MAAA,MAAA,SAAS,CAAC,GAAG,CAAC,0CAAE,KAAK,mCAAI,MAAA,SAAS,CAAC,GAAG,CAAC,0CAAE,KAAK,mCAAI,EAAE,CAAA,EAAA,CAAC,CAAC;AAD7F,QAAA,WAAW,eACkF;AAE1G,uFAAuF;AAChF,MAAM,GAAG,GAAG,CAAC,CAA8B,EAAqD,EAAE,CACvG,CAAsD,CAAC;AAD5C,QAAA,GAAG,OACyC"}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
+
import type { ComposableVariableEntry } from "@rocapine/react-native-onboarding";
|
|
1
2
|
import { ColorScheme } from "../Theme/types";
|
|
3
|
+
export type { ComposableVariableEntry };
|
|
2
4
|
export declare const OnboardingProgressProvider: ({ children, initialColorScheme, }: {
|
|
3
5
|
children: React.ReactNode;
|
|
4
6
|
initialColorScheme?: ColorScheme;
|
|
5
7
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
-
export type ComposableVariableEntry = {
|
|
7
|
-
value: string;
|
|
8
|
-
label?: string;
|
|
9
|
-
};
|
|
10
8
|
export declare const OnboardingProgressContext: import("react").Context<{
|
|
11
9
|
activeStep: {
|
|
12
10
|
number: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnboardingProgressProvider.d.ts","sourceRoot":"","sources":["../../../src/UI/Provider/OnboardingProgressProvider.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"OnboardingProgressProvider.d.ts","sourceRoot":"","sources":["../../../src/UI/Provider/OnboardingProgressProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAEjF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,YAAY,EAAE,uBAAuB,EAAE,CAAC;AAExC,eAAO,MAAM,0BAA0B,GAAI,mCAGxC;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,kBAAkB,CAAC,EAAE,WAAW,CAAC;CAClC,4CAwBA,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;2BAEb;QACrB,MAAM,EAAE,MAAM,CAAC;QACf,qBAAqB,EAAE,OAAO,CAAC;KAChC;;4BAEuB,MAAM;yBACH,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC;kCACpC,MAAM,UAAU,uBAAuB,GAAG,MAAM;EAC9E,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnboardingProgressProvider.js","sourceRoot":"","sources":["../../../src/UI/Provider/OnboardingProgressProvider.tsx"],"names":[],"mappings":";;;;AAAA,iCAA6D;AAC7D,mFAAkE;
|
|
1
|
+
{"version":3,"file":"OnboardingProgressProvider.js","sourceRoot":"","sources":["../../../src/UI/Provider/OnboardingProgressProvider.tsx"],"names":[],"mappings":";;;;AAAA,iCAA6D;AAC7D,mFAAkE;AAElE,0DAAuD;AAKhD,MAAM,0BAA0B,GAAG,CAAC,EACzC,QAAQ,EACR,kBAAkB,GAAG,OAAO,GAI7B,EAAE,EAAE;IACH,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAC;QAC3C,MAAM,EAAE,CAAC;QACT,qBAAqB,EAAE,KAAK;KAC7B,CAAC,CAAC;IACH,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,IAAA,gBAAQ,EAA0C,EAAE,CAAC,CAAC;IAE5G,MAAM,qBAAqB,GAAG,IAAA,mBAAW,EAAC,CAAC,GAAW,EAAE,KAAuC,EAAE,EAAE;QACjG,MAAM,eAAe,GAA4B,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QACtG,sBAAsB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iCAAM,IAAI,KAAE,CAAC,GAAG,CAAC,EAAE,eAAe,IAAG,CAAC,CAAC;IAC1E,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,uBAAC,iDAAgB,cACf,uBAAC,6BAAa,IAAC,kBAAkB,EAAE,kBAAkB,YACnD,uBAAC,iCAAyB,CAAC,QAAQ,IACjC,KAAK,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,YAE1G,QAAQ,GAC0B,GACvB,GACC,CACpB,CAAC;AACJ,CAAC,CAAC;AA9BW,QAAA,0BAA0B,8BA8BrC;AAEW,QAAA,yBAAyB,GAAG,IAAA,qBAAa,EAAC;IACrD,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,qBAAqB,EAAE,KAAK,EAAE;IACvD,aAAa,EAAE,CAAC,KAGf,EAAE,EAAE,GAAG,CAAC;IACT,UAAU,EAAE,CAAC;IACb,aAAa,EAAE,CAAC,MAAc,EAAE,EAAE,GAAG,CAAC;IACtC,mBAAmB,EAAE,EAA6C;IAClE,qBAAqB,EAAE,CAAC,IAAY,EAAE,MAAwC,EAAE,EAAE,GAAG,CAAC;CACvF,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type { BaseStepType, Onboarding, OnboardingMetadata, OnboardingStudioClientOptions, } from "@rocapine/react-native-onboarding";
|
|
1
|
+
export type { BaseStepType, Onboarding, OnboardingMetadata, OnboardingStudioClientOptions, CustomActionHandler, CustomActions, ButtonAction, CustomButtonAction, ComposableVariableEntry, } from "@rocapine/react-native-onboarding";
|
|
2
2
|
export { OnboardingPage } from "./UI/OnboardingPage";
|
|
3
3
|
export * from "./UI/Pages";
|
|
4
4
|
export * from "./UI/Templates";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,6BAA6B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,6BAA6B,EAC7B,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,cAAc,YAAY,CAAC;AAG3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAGhC,cAAc,YAAY,CAAC;AAG3B,cAAc,oBAAoB,CAAC;AAGnC,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AAGjH,cAAc,YAAY,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAaA,2BAA2B;AAC3B,sDAAqD;AAA5C,gHAAA,cAAc,OAAA;AAEvB,+BAA+B;AAC/B,6CAA2B;AAE3B,kCAAkC;AAClC,iDAA+B;AAC/B,kDAAgC;AAEhC,eAAe;AACf,6CAA2B;AAE3B,iBAAiB;AACjB,qDAAmC;AAEnC,WAAW;AACX,uFAAiH;AAAxG,wIAAA,0BAA0B,OAAA;AAAE,uIAAA,yBAAyB,OAAA;AAE9D,oBAAoB;AACpB,6CAA2B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rocapine/react-native-onboarding-ui",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.17.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",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"peerDependencies": {
|
|
47
47
|
"@react-native-community/datetimepicker": "*",
|
|
48
48
|
"@react-native-picker/picker": "*",
|
|
49
|
-
"@rocapine/react-native-onboarding": "^1.
|
|
49
|
+
"@rocapine/react-native-onboarding": "^1.17.0",
|
|
50
50
|
"@shopify/react-native-skia": ">=1.0.0",
|
|
51
51
|
"@tanstack/react-query": ">=5.0.0",
|
|
52
52
|
"@types/react": "*",
|
|
@@ -19,7 +19,7 @@ const ComposableScreenRendererBase = ({ step, onContinue }: ContentProps) => {
|
|
|
19
19
|
const validatedData = useMemo(() => ComposableScreenStepTypeSchema.parse(step), [step]);
|
|
20
20
|
const { elements } = validatedData.payload;
|
|
21
21
|
const { composableVariables, setComposableVariable } = useContext(OnboardingProgressContext);
|
|
22
|
-
const { setVariable: setHeadlessVariable } = useContext(HeadlessProgressContext);
|
|
22
|
+
const { setVariable: setHeadlessVariable, customActions } = useContext(HeadlessProgressContext);
|
|
23
23
|
|
|
24
24
|
const setVariableAndSync = useCallback(
|
|
25
25
|
(key: string, entry: ComposableVariableEntry) => {
|
|
@@ -37,6 +37,7 @@ const ComposableScreenRendererBase = ({ step, onContinue }: ContentProps) => {
|
|
|
37
37
|
variables: composableVariables,
|
|
38
38
|
setVariable: setVariableAndSync,
|
|
39
39
|
onContinue,
|
|
40
|
+
customActions,
|
|
40
41
|
renderChildren,
|
|
41
42
|
};
|
|
42
43
|
|
|
@@ -1,13 +1,40 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { Text, TouchableOpacity } from "react-native";
|
|
4
|
+
import { useResolvedFontStyle } from "@rocapine/react-native-onboarding";
|
|
4
5
|
import { BaseBoxProps, BaseBoxPropsSchema } from "./BaseBoxProps";
|
|
5
6
|
import { UIElement } from "../types";
|
|
6
7
|
import { RenderContext, dim } from "./shared";
|
|
7
8
|
import { GradientBox } from "./GradientBox";
|
|
9
|
+
import { ComposableVariableEntry } from "../../../Provider/OnboardingProgressProvider";
|
|
10
|
+
|
|
11
|
+
export type CustomButtonAction = {
|
|
12
|
+
type: "custom";
|
|
13
|
+
function: string;
|
|
14
|
+
variables?: string[];
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export const CustomButtonActionSchema = z.object({
|
|
18
|
+
type: z.literal("custom"),
|
|
19
|
+
function: z.string().min(1, "function must not be empty"),
|
|
20
|
+
variables: z.array(z.string()).optional(),
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
export type ButtonAction = "continue" | CustomButtonAction;
|
|
24
|
+
|
|
25
|
+
export const ButtonActionSchema = z.union([
|
|
26
|
+
z.literal("continue"),
|
|
27
|
+
CustomButtonActionSchema,
|
|
28
|
+
]);
|
|
8
29
|
|
|
9
30
|
export type ButtonElementProps = BaseBoxProps & {
|
|
10
31
|
label: string;
|
|
32
|
+
/**
|
|
33
|
+
* Ordered list of actions to run on press. Sequential, await async handlers,
|
|
34
|
+
* abort on error, `"continue"` is terminal.
|
|
35
|
+
*/
|
|
36
|
+
actions?: ButtonAction[];
|
|
37
|
+
/** @deprecated Use `actions` instead. */
|
|
11
38
|
action?: "continue";
|
|
12
39
|
variant?: "filled" | "outlined" | "ghost";
|
|
13
40
|
backgroundColor?: string;
|
|
@@ -15,11 +42,13 @@ export type ButtonElementProps = BaseBoxProps & {
|
|
|
15
42
|
fontSize?: number;
|
|
16
43
|
fontWeight?: string;
|
|
17
44
|
fontFamily?: string;
|
|
45
|
+
fontStyle?: "normal" | "italic";
|
|
18
46
|
textAlign?: "left" | "center" | "right";
|
|
19
47
|
};
|
|
20
48
|
|
|
21
49
|
export const ButtonElementPropsSchema = BaseBoxPropsSchema.extend({
|
|
22
50
|
label: z.string().min(1, "label must not be empty"),
|
|
51
|
+
actions: z.array(ButtonActionSchema).optional(),
|
|
23
52
|
action: z.enum(["continue"]).optional(),
|
|
24
53
|
variant: z.enum(["filled", "outlined", "ghost"]).optional(),
|
|
25
54
|
backgroundColor: z.string().optional(),
|
|
@@ -27,6 +56,7 @@ export const ButtonElementPropsSchema = BaseBoxPropsSchema.extend({
|
|
|
27
56
|
fontSize: z.number().optional(),
|
|
28
57
|
fontWeight: z.string().optional(),
|
|
29
58
|
fontFamily: z.string().optional(),
|
|
59
|
+
fontStyle: z.enum(["normal", "italic"]).optional(),
|
|
30
60
|
textAlign: z.enum(["left", "center", "right"]).optional(),
|
|
31
61
|
});
|
|
32
62
|
|
|
@@ -38,13 +68,37 @@ type Props = {
|
|
|
38
68
|
};
|
|
39
69
|
|
|
40
70
|
export const ButtonElementComponent = ({ element, ctx }: Props): React.ReactElement => {
|
|
41
|
-
const { theme, onContinue } = ctx;
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
71
|
+
const { theme, onContinue, customActions, variables } = ctx;
|
|
72
|
+
const handlePress = async () => {
|
|
73
|
+
const { actions, action } = element.props;
|
|
74
|
+
const effective: ButtonAction[] =
|
|
75
|
+
actions ?? (action === "continue" ? ["continue"] : []);
|
|
76
|
+
|
|
77
|
+
for (const act of effective) {
|
|
78
|
+
if (act === "continue") {
|
|
79
|
+
onContinue();
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
const handler = customActions[act.function];
|
|
83
|
+
if (!handler) {
|
|
84
|
+
console.warn(
|
|
85
|
+
`[ComposableScreen] No customAction registered for "${act.function}"`
|
|
86
|
+
);
|
|
87
|
+
continue;
|
|
88
|
+
}
|
|
89
|
+
const requested = act.variables ?? [];
|
|
90
|
+
const vars: Record<string, ComposableVariableEntry | undefined> = {};
|
|
91
|
+
for (const name of requested) vars[name] = variables[name];
|
|
92
|
+
try {
|
|
93
|
+
await handler({ variables: vars });
|
|
94
|
+
} catch (err) {
|
|
95
|
+
console.error(
|
|
96
|
+
`[ComposableScreen] customAction "${act.function}" threw:`,
|
|
97
|
+
err
|
|
98
|
+
);
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
46
101
|
}
|
|
47
|
-
// other action values are no-ops
|
|
48
102
|
};
|
|
49
103
|
const variant = element.props.variant ?? "filled";
|
|
50
104
|
const isFilled = variant === "filled";
|
|
@@ -58,14 +112,21 @@ export const ButtonElementComponent = ({ element, ctx }: Props): React.ReactElem
|
|
|
58
112
|
|
|
59
113
|
const hasGradient = isFilled && !!element.props.backgroundGradient;
|
|
60
114
|
const borderRadius = element.props.borderRadius ?? 90;
|
|
115
|
+
const resolvedFont = useResolvedFontStyle(
|
|
116
|
+
element.props.fontFamily,
|
|
117
|
+
element.props.fontWeight
|
|
118
|
+
);
|
|
61
119
|
|
|
62
120
|
const labelNode = (
|
|
63
121
|
<Text
|
|
64
122
|
style={{
|
|
65
123
|
color: textColor,
|
|
66
124
|
fontSize: element.props.fontSize ?? theme.typography.textStyles.button.fontSize,
|
|
67
|
-
fontWeight:
|
|
68
|
-
|
|
125
|
+
fontWeight: resolvedFont.resolvedToVariant
|
|
126
|
+
? undefined
|
|
127
|
+
: ((resolvedFont.fontWeight as any) ?? theme.typography.textStyles.button.fontWeight),
|
|
128
|
+
fontFamily: resolvedFont.fontFamily,
|
|
129
|
+
fontStyle: element.props.fontStyle,
|
|
69
130
|
textAlign: element.props.textAlign ?? "center",
|
|
70
131
|
}}
|
|
71
132
|
>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import React, { useRef } from "react";
|
|
2
|
-
import {
|
|
1
|
+
import React, { useRef, useState } from "react";
|
|
2
|
+
import { View, type LayoutChangeEvent } from "react-native";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
import { useSharedValue } from "react-native-reanimated";
|
|
5
5
|
import Carousel, { Pagination, ICarouselInstance } from "react-native-reanimated-carousel";
|
|
@@ -38,6 +38,8 @@ export const CarouselElementPropsSchema = BaseBoxPropsSchema.extend({
|
|
|
38
38
|
|
|
39
39
|
type CarouselUIElement = Extract<UIElement, { type: "Carousel" }>;
|
|
40
40
|
|
|
41
|
+
const DEFAULT_HEIGHT = 240;
|
|
42
|
+
|
|
41
43
|
type Props = {
|
|
42
44
|
element: CarouselUIElement;
|
|
43
45
|
ctx: RenderContext;
|
|
@@ -46,20 +48,31 @@ type Props = {
|
|
|
46
48
|
export function CarouselElementComponent({ element, ctx }: Props): React.ReactElement {
|
|
47
49
|
const { theme } = ctx;
|
|
48
50
|
const { props, children } = element;
|
|
49
|
-
const { width: windowWidth } = useWindowDimensions();
|
|
50
51
|
const progress = useSharedValue<number>(0);
|
|
51
52
|
const ref = useRef<ICarouselInstance>(null);
|
|
53
|
+
const [size, setSize] = useState<{ width: number; height: number } | null>(null);
|
|
52
54
|
|
|
53
55
|
const carouselType = props.carouselType ?? "normal";
|
|
54
56
|
|
|
57
|
+
const onLayout = (e: LayoutChangeEvent) => {
|
|
58
|
+
const { width, height } = e.nativeEvent.layout;
|
|
59
|
+
if (!size || size.width !== width || size.height !== height) {
|
|
60
|
+
setSize({ width, height });
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
|
|
55
64
|
// Stack uses 75% width (shows side items); left-align uses 82% (peek effect)
|
|
65
|
+
const availableWidth = size?.width ?? 0;
|
|
56
66
|
const itemWidth =
|
|
57
67
|
carouselType === "stack"
|
|
58
|
-
?
|
|
68
|
+
? availableWidth * 0.75
|
|
59
69
|
: carouselType === "left-align"
|
|
60
|
-
?
|
|
61
|
-
:
|
|
62
|
-
|
|
70
|
+
? availableWidth * 0.82
|
|
71
|
+
: availableWidth;
|
|
72
|
+
|
|
73
|
+
const hasExplicitSize =
|
|
74
|
+
props.height != null || props.flex != null || props.flexGrow != null;
|
|
75
|
+
const heightFallback = hasExplicitSize ? undefined : DEFAULT_HEIGHT;
|
|
63
76
|
|
|
64
77
|
const containerStyle = {
|
|
65
78
|
alignSelf: props.alignSelf,
|
|
@@ -67,6 +80,7 @@ export function CarouselElementComponent({ element, ctx }: Props): React.ReactEl
|
|
|
67
80
|
flexShrink: props.flexShrink,
|
|
68
81
|
flexGrow: props.flexGrow,
|
|
69
82
|
width: dim(props.width),
|
|
83
|
+
height: dim(props.height) ?? heightFallback,
|
|
70
84
|
minWidth: props.minWidth,
|
|
71
85
|
maxWidth: props.maxWidth,
|
|
72
86
|
minHeight: props.minHeight,
|
|
@@ -106,27 +120,32 @@ export function CarouselElementComponent({ element, ctx }: Props): React.ReactEl
|
|
|
106
120
|
const dotsMarginTop = props.dotsMarginTop ?? 12;
|
|
107
121
|
const dotBg = props.dotColor ?? theme.colors.neutral.low;
|
|
108
122
|
const activeDotBg = props.activeDotColor ?? theme.colors.primary;
|
|
109
|
-
|
|
110
|
-
|
|
123
|
+
|
|
124
|
+
const ready = !!size && size.width > 0 && size.height > 0;
|
|
125
|
+
|
|
111
126
|
return (
|
|
112
|
-
<GradientBox gradient={props.backgroundGradient} style={containerStyle
|
|
113
|
-
<
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
127
|
+
<GradientBox gradient={props.backgroundGradient} style={containerStyle}>
|
|
128
|
+
<View style={{ flex: 1 }} onLayout={onLayout}>
|
|
129
|
+
{ready && (
|
|
130
|
+
<Carousel
|
|
131
|
+
ref={ref}
|
|
132
|
+
loop={props.loop}
|
|
133
|
+
autoPlay={props.autoPlay}
|
|
134
|
+
autoPlayInterval={props.autoPlayInterval}
|
|
135
|
+
snapEnabled={true}
|
|
136
|
+
pagingEnabled={true}
|
|
137
|
+
data={children}
|
|
138
|
+
width={itemWidth}
|
|
139
|
+
height={size!.height}
|
|
140
|
+
style={{ width: size!.width, height: size!.height }}
|
|
141
|
+
renderItem={({ item }: { item: UIElement }) => ctx.renderChildren([item], "YStack")}
|
|
142
|
+
onProgressChange={(_: number, absoluteProgress: number) => {
|
|
143
|
+
progress.value = absoluteProgress;
|
|
144
|
+
}}
|
|
145
|
+
{...(modeProps as any)}
|
|
146
|
+
/>
|
|
147
|
+
)}
|
|
148
|
+
</View>
|
|
130
149
|
{(props.showDots ?? true) && (
|
|
131
150
|
<Pagination.Basic
|
|
132
151
|
progress={progress}
|
|
@@ -23,6 +23,7 @@ export type CheckboxGroupElementProps = BaseBoxProps & {
|
|
|
23
23
|
itemFontSize?: number;
|
|
24
24
|
itemFontWeight?: string;
|
|
25
25
|
itemFontFamily?: string;
|
|
26
|
+
itemFontStyle?: "normal" | "italic";
|
|
26
27
|
itemPadding?: number;
|
|
27
28
|
itemPaddingHorizontal?: number;
|
|
28
29
|
itemPaddingVertical?: number;
|
|
@@ -45,6 +46,7 @@ export const CheckboxGroupElementPropsSchema = BaseBoxPropsSchema.extend({
|
|
|
45
46
|
itemFontSize: z.number().optional(),
|
|
46
47
|
itemFontWeight: z.string().optional(),
|
|
47
48
|
itemFontFamily: z.string().optional(),
|
|
49
|
+
itemFontStyle: z.enum(["normal", "italic"]).optional(),
|
|
48
50
|
itemPadding: z.number().optional(),
|
|
49
51
|
itemPaddingHorizontal: z.number().optional(),
|
|
50
52
|
itemPaddingVertical: z.number().optional(),
|
|
@@ -190,6 +192,7 @@ export const CheckboxGroupComponent = ({ element, ctx }: Props): React.ReactElem
|
|
|
190
192
|
fontSize: element.props.itemFontSize ?? theme.typography.textStyles.body.fontSize,
|
|
191
193
|
fontWeight: (element.props.itemFontWeight as any) ?? theme.typography.textStyles.body.fontWeight,
|
|
192
194
|
fontFamily: element.props.itemFontFamily,
|
|
195
|
+
fontStyle: element.props.itemFontStyle,
|
|
193
196
|
}}
|
|
194
197
|
>
|
|
195
198
|
{item.label}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React, { useState, useEffect } from "react";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { View, TextInput } from "react-native";
|
|
4
|
+
import { useResolvedFontStyle } from "@rocapine/react-native-onboarding";
|
|
4
5
|
import { BaseBoxProps, BaseBoxPropsSchema } from "./BaseBoxProps";
|
|
5
6
|
import { UIElement } from "../types";
|
|
6
7
|
import { RenderContext, dim } from "./shared";
|
|
@@ -22,6 +23,7 @@ export type InputElementProps = BaseBoxProps & {
|
|
|
22
23
|
fontSize?: number;
|
|
23
24
|
fontWeight?: string;
|
|
24
25
|
fontFamily?: string;
|
|
26
|
+
fontStyle?: "normal" | "italic";
|
|
25
27
|
lineHeight?: number;
|
|
26
28
|
letterSpacing?: number;
|
|
27
29
|
textAlign?: "left" | "center" | "right";
|
|
@@ -45,6 +47,7 @@ export const InputElementPropsSchema = BaseBoxPropsSchema.extend({
|
|
|
45
47
|
fontSize: z.number().optional(),
|
|
46
48
|
fontWeight: z.string().optional(),
|
|
47
49
|
fontFamily: z.string().optional(),
|
|
50
|
+
fontStyle: z.enum(["normal", "italic"]).optional(),
|
|
48
51
|
lineHeight: z.number().optional(),
|
|
49
52
|
letterSpacing: z.number().optional(),
|
|
50
53
|
textAlign: z.enum(["left", "center", "right"]).optional(),
|
|
@@ -76,6 +79,11 @@ export const InputElementComponent = ({ element, ctx }: Props): React.ReactEleme
|
|
|
76
79
|
}
|
|
77
80
|
};
|
|
78
81
|
|
|
82
|
+
const resolvedFont = useResolvedFontStyle(
|
|
83
|
+
element.props.fontFamily,
|
|
84
|
+
element.props.fontWeight
|
|
85
|
+
);
|
|
86
|
+
|
|
79
87
|
return (
|
|
80
88
|
<TextInput
|
|
81
89
|
value={value}
|
|
@@ -112,8 +120,9 @@ export const InputElementComponent = ({ element, ctx }: Props): React.ReactEleme
|
|
|
112
120
|
borderColor: element.props.borderColor ?? theme.colors.neutral.low,
|
|
113
121
|
color: element.props.color ?? theme.colors.text.primary,
|
|
114
122
|
fontSize: element.props.fontSize ?? theme.typography.textStyles.body.fontSize,
|
|
115
|
-
fontWeight: element.props.fontWeight as any,
|
|
116
|
-
fontFamily:
|
|
123
|
+
fontWeight: resolvedFont.resolvedToVariant ? undefined : (element.props.fontWeight as any),
|
|
124
|
+
fontFamily: resolvedFont.fontFamily,
|
|
125
|
+
fontStyle: element.props.fontStyle,
|
|
117
126
|
lineHeight: element.props.lineHeight,
|
|
118
127
|
letterSpacing: element.props.letterSpacing,
|
|
119
128
|
textAlign: element.props.textAlign,
|
|
@@ -23,6 +23,7 @@ export type RadioGroupElementProps = BaseBoxProps & {
|
|
|
23
23
|
itemFontSize?: number;
|
|
24
24
|
itemFontWeight?: string;
|
|
25
25
|
itemFontFamily?: string;
|
|
26
|
+
itemFontStyle?: "normal" | "italic";
|
|
26
27
|
itemPadding?: number;
|
|
27
28
|
itemPaddingHorizontal?: number;
|
|
28
29
|
itemPaddingVertical?: number;
|
|
@@ -45,6 +46,7 @@ export const RadioGroupElementPropsSchema = BaseBoxPropsSchema.extend({
|
|
|
45
46
|
itemFontSize: z.number().optional(),
|
|
46
47
|
itemFontWeight: z.string().optional(),
|
|
47
48
|
itemFontFamily: z.string().optional(),
|
|
49
|
+
itemFontStyle: z.enum(["normal", "italic"]).optional(),
|
|
48
50
|
itemPadding: z.number().optional(),
|
|
49
51
|
itemPaddingHorizontal: z.number().optional(),
|
|
50
52
|
itemPaddingVertical: z.number().optional(),
|
|
@@ -172,6 +174,7 @@ export const RadioGroupComponent = ({ element, ctx }: Props): React.ReactElement
|
|
|
172
174
|
fontSize: element.props.itemFontSize ?? theme.typography.textStyles.body.fontSize,
|
|
173
175
|
fontWeight: (element.props.itemFontWeight as any) ?? theme.typography.textStyles.body.fontWeight,
|
|
174
176
|
fontFamily: element.props.itemFontFamily,
|
|
177
|
+
fontStyle: element.props.itemFontStyle,
|
|
175
178
|
}}
|
|
176
179
|
>
|
|
177
180
|
{item.label}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { Text } from "react-native";
|
|
4
|
+
import { useResolvedFontStyle } from "@rocapine/react-native-onboarding";
|
|
4
5
|
import { BaseBoxProps, BaseBoxPropsSchema } from "./BaseBoxProps";
|
|
5
6
|
import { UIElement } from "../types";
|
|
6
7
|
import { RenderContext, interpolate, dim } from "./shared";
|
|
@@ -12,6 +13,7 @@ export type TextElementProps = BaseBoxProps & {
|
|
|
12
13
|
fontSize?: number;
|
|
13
14
|
fontWeight?: string;
|
|
14
15
|
fontFamily?: string;
|
|
16
|
+
fontStyle?: "normal" | "italic";
|
|
15
17
|
color?: string;
|
|
16
18
|
textAlign?: "left" | "center" | "right";
|
|
17
19
|
letterSpacing?: number;
|
|
@@ -24,6 +26,7 @@ export const TextElementPropsSchema = BaseBoxPropsSchema.extend({
|
|
|
24
26
|
fontSize: z.number().optional(),
|
|
25
27
|
fontWeight: z.string().optional(),
|
|
26
28
|
fontFamily: z.string().optional(),
|
|
29
|
+
fontStyle: z.enum(["normal", "italic"]).optional(),
|
|
27
30
|
color: z.string().optional(),
|
|
28
31
|
textAlign: z.enum(["left", "center", "right"]).optional(),
|
|
29
32
|
letterSpacing: z.number().optional(),
|
|
@@ -45,6 +48,7 @@ export const TextElementComponent = ({ element, ctx, parentType }: Props): React
|
|
|
45
48
|
p.mode === "expression"
|
|
46
49
|
? interpolate(p.content, variables)
|
|
47
50
|
: p.content;
|
|
51
|
+
const resolvedFont = useResolvedFontStyle(p.fontFamily, p.fontWeight);
|
|
48
52
|
|
|
49
53
|
const textNode = (
|
|
50
54
|
<Text
|
|
@@ -60,8 +64,9 @@ export const TextElementComponent = ({ element, ctx, parentType }: Props): React
|
|
|
60
64
|
minHeight: p.backgroundGradient ? undefined : p.minHeight,
|
|
61
65
|
maxHeight: p.backgroundGradient ? undefined : p.maxHeight,
|
|
62
66
|
fontSize: p.fontSize,
|
|
63
|
-
fontWeight: p.fontWeight as any,
|
|
64
|
-
fontFamily:
|
|
67
|
+
fontWeight: resolvedFont.resolvedToVariant ? undefined : (p.fontWeight as any),
|
|
68
|
+
fontFamily: resolvedFont.fontFamily,
|
|
69
|
+
fontStyle: p.fontStyle,
|
|
65
70
|
color: p.color ?? theme.colors.text.primary,
|
|
66
71
|
textAlign: p.textAlign,
|
|
67
72
|
letterSpacing: p.letterSpacing,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
import { CustomActions } from "@rocapine/react-native-onboarding";
|
|
2
3
|
import { UIElement } from "../types";
|
|
3
4
|
import { Theme } from "../../../Theme/types";
|
|
4
5
|
import { ComposableVariableEntry } from "../../../Provider/OnboardingProgressProvider";
|
|
@@ -8,6 +9,7 @@ export type RenderContext = {
|
|
|
8
9
|
variables: Record<string, ComposableVariableEntry>;
|
|
9
10
|
setVariable: (key: string, entry: ComposableVariableEntry) => void;
|
|
10
11
|
onContinue: () => void;
|
|
12
|
+
customActions: CustomActions;
|
|
11
13
|
renderChildren: (elements: UIElement[], parentType: "XStack" | "YStack" | "ZStack") => React.ReactNode;
|
|
12
14
|
};
|
|
13
15
|
|