@rocapine/react-native-onboarding-ui 1.20.0 → 1.23.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 +8 -1
- package/dist/UI/Pages/ComposableScreen/Renderer.js.map +1 -1
- package/dist/UI/Pages/ComposableScreen/elements/ButtonElement.d.ts +42 -1
- package/dist/UI/Pages/ComposableScreen/elements/ButtonElement.d.ts.map +1 -1
- package/dist/UI/Pages/ComposableScreen/elements/ButtonElement.js +15 -1
- package/dist/UI/Pages/ComposableScreen/elements/ButtonElement.js.map +1 -1
- package/dist/UI/Pages/ComposableScreen/elements/CarouselElement.d.ts +4 -0
- package/dist/UI/Pages/ComposableScreen/elements/CarouselElement.d.ts.map +1 -1
- package/dist/UI/Pages/ComposableScreen/elements/CarouselElement.js +57 -12
- package/dist/UI/Pages/ComposableScreen/elements/CarouselElement.js.map +1 -1
- package/dist/UI/Pages/ComposableScreen/elements/collectDefaults.d.ts +11 -0
- package/dist/UI/Pages/ComposableScreen/elements/collectDefaults.d.ts.map +1 -0
- package/dist/UI/Pages/ComposableScreen/elements/collectDefaults.js +74 -0
- package/dist/UI/Pages/ComposableScreen/elements/collectDefaults.js.map +1 -0
- package/dist/UI/Pages/ComposableScreen/elements/expression.d.ts +17 -0
- package/dist/UI/Pages/ComposableScreen/elements/expression.d.ts.map +1 -0
- package/dist/UI/Pages/ComposableScreen/elements/expression.js +210 -0
- package/dist/UI/Pages/ComposableScreen/elements/expression.js.map +1 -0
- package/dist/UI/Pages/ComposableScreen/elements/renderElement.d.ts.map +1 -1
- package/dist/UI/Pages/ComposableScreen/elements/renderElement.js +6 -0
- package/dist/UI/Pages/ComposableScreen/elements/renderElement.js.map +1 -1
- package/dist/UI/Pages/ComposableScreen/types.d.ts +16 -0
- package/dist/UI/Pages/ComposableScreen/types.d.ts.map +1 -1
- package/dist/UI/Pages/ComposableScreen/types.js +16 -0
- package/dist/UI/Pages/ComposableScreen/types.js.map +1 -1
- package/package.json +2 -2
- package/src/UI/Pages/ComposableScreen/Renderer.tsx +12 -1
- package/src/UI/Pages/ComposableScreen/elements/ButtonElement.tsx +29 -1
- package/src/UI/Pages/ComposableScreen/elements/CarouselElement.tsx +45 -1
- package/src/UI/Pages/ComposableScreen/elements/collectDefaults.ts +76 -0
- package/src/UI/Pages/ComposableScreen/elements/expression.ts +199 -0
- package/src/UI/Pages/ComposableScreen/elements/renderElement.tsx +8 -0
- package/src/UI/Pages/ComposableScreen/types.ts +36 -0
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.evaluateSetVariableExpression = evaluateSetVariableExpression;
|
|
4
|
+
const shared_1 = require("./shared");
|
|
5
|
+
const isDigit = (c) => c >= "0" && c <= "9";
|
|
6
|
+
const isSpace = (c) => c === " " || c === "\t" || c === "\n" || c === "\r";
|
|
7
|
+
function tokenize(input) {
|
|
8
|
+
var _a;
|
|
9
|
+
const tokens = [];
|
|
10
|
+
let i = 0;
|
|
11
|
+
while (i < input.length) {
|
|
12
|
+
const c = input[i];
|
|
13
|
+
if (isSpace(c)) {
|
|
14
|
+
i++;
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
17
|
+
if (c === "{" && input[i + 1] === "{") {
|
|
18
|
+
const end = input.indexOf("}}", i + 2);
|
|
19
|
+
if (end === -1)
|
|
20
|
+
return null;
|
|
21
|
+
const name = input.slice(i + 2, end).trim();
|
|
22
|
+
if (!name)
|
|
23
|
+
return null;
|
|
24
|
+
tokens.push({ kind: "var", name });
|
|
25
|
+
i = end + 2;
|
|
26
|
+
continue;
|
|
27
|
+
}
|
|
28
|
+
if (c === "(") {
|
|
29
|
+
tokens.push({ kind: "lparen" });
|
|
30
|
+
i++;
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
if (c === ")") {
|
|
34
|
+
tokens.push({ kind: "rparen" });
|
|
35
|
+
i++;
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
if (c === "+" || c === "-" || c === "*" || c === "/") {
|
|
39
|
+
tokens.push({ kind: "op", op: c });
|
|
40
|
+
i++;
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
if (isDigit(c) || (c === "." && isDigit((_a = input[i + 1]) !== null && _a !== void 0 ? _a : ""))) {
|
|
44
|
+
let j = i;
|
|
45
|
+
let dot = false;
|
|
46
|
+
while (j < input.length && (isDigit(input[j]) || input[j] === ".")) {
|
|
47
|
+
if (input[j] === ".") {
|
|
48
|
+
if (dot)
|
|
49
|
+
return null;
|
|
50
|
+
dot = true;
|
|
51
|
+
}
|
|
52
|
+
j++;
|
|
53
|
+
}
|
|
54
|
+
const num = parseFloat(input.slice(i, j));
|
|
55
|
+
if (!Number.isFinite(num))
|
|
56
|
+
return null;
|
|
57
|
+
tokens.push({ kind: "num", value: num, isInt: !dot });
|
|
58
|
+
i = j;
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
tokens.push({ kind: "eof" });
|
|
64
|
+
return tokens;
|
|
65
|
+
}
|
|
66
|
+
function resolveVar(name, vars) {
|
|
67
|
+
const entry = vars[name];
|
|
68
|
+
// Missing variable in arithmetic context defaults to numeric 0 so increment
|
|
69
|
+
// / decrement patterns work on first click before the variable is seeded.
|
|
70
|
+
if (!entry)
|
|
71
|
+
return { kind: "number", n: 0, isInt: true };
|
|
72
|
+
const raw = entry.value;
|
|
73
|
+
const k = entry.kind;
|
|
74
|
+
if (k === "string")
|
|
75
|
+
return { kind: "string", s: raw };
|
|
76
|
+
if (k === "int") {
|
|
77
|
+
const n = parseInt(raw, 10);
|
|
78
|
+
return Number.isFinite(n) ? { kind: "number", n, isInt: true } : { kind: "string", s: raw };
|
|
79
|
+
}
|
|
80
|
+
if (k === "float") {
|
|
81
|
+
const n = parseFloat(raw);
|
|
82
|
+
return Number.isFinite(n) ? { kind: "number", n, isInt: false } : { kind: "string", s: raw };
|
|
83
|
+
}
|
|
84
|
+
// No kind tag — infer from string content.
|
|
85
|
+
const trimmed = raw.trim();
|
|
86
|
+
if (trimmed !== "" && /^-?\d+(\.\d+)?$/.test(trimmed)) {
|
|
87
|
+
const n = parseFloat(trimmed);
|
|
88
|
+
if (Number.isFinite(n))
|
|
89
|
+
return { kind: "number", n, isInt: Number.isInteger(n) && !trimmed.includes(".") };
|
|
90
|
+
}
|
|
91
|
+
return { kind: "string", s: raw };
|
|
92
|
+
}
|
|
93
|
+
function valueToString(v) {
|
|
94
|
+
if (v.kind === "string")
|
|
95
|
+
return v.s;
|
|
96
|
+
if (v.isInt)
|
|
97
|
+
return Math.trunc(v.n).toString();
|
|
98
|
+
return v.n.toString();
|
|
99
|
+
}
|
|
100
|
+
function parse(tokens, vars) {
|
|
101
|
+
let pos = 0;
|
|
102
|
+
const peek = () => tokens[pos];
|
|
103
|
+
const advance = () => tokens[pos++];
|
|
104
|
+
const factor = () => {
|
|
105
|
+
const t = peek();
|
|
106
|
+
if (t.kind === "lparen") {
|
|
107
|
+
advance();
|
|
108
|
+
const v = expr();
|
|
109
|
+
if (!v)
|
|
110
|
+
return null;
|
|
111
|
+
if (peek().kind !== "rparen")
|
|
112
|
+
return null;
|
|
113
|
+
advance();
|
|
114
|
+
return v;
|
|
115
|
+
}
|
|
116
|
+
if (t.kind === "op" && t.op === "-") {
|
|
117
|
+
advance();
|
|
118
|
+
const v = factor();
|
|
119
|
+
if (!v || v.kind !== "number")
|
|
120
|
+
return null;
|
|
121
|
+
return { kind: "number", n: -v.n, isInt: v.isInt };
|
|
122
|
+
}
|
|
123
|
+
if (t.kind === "num") {
|
|
124
|
+
advance();
|
|
125
|
+
return { kind: "number", n: t.value, isInt: t.isInt };
|
|
126
|
+
}
|
|
127
|
+
if (t.kind === "var") {
|
|
128
|
+
advance();
|
|
129
|
+
return resolveVar(t.name, vars);
|
|
130
|
+
}
|
|
131
|
+
return null;
|
|
132
|
+
};
|
|
133
|
+
const term = () => {
|
|
134
|
+
let left = factor();
|
|
135
|
+
if (!left)
|
|
136
|
+
return null;
|
|
137
|
+
while (peek().kind === "op" && (peek().op === "*" || peek().op === "/")) {
|
|
138
|
+
const op = advance().op;
|
|
139
|
+
const right = factor();
|
|
140
|
+
if (!right)
|
|
141
|
+
return null;
|
|
142
|
+
if (left.kind !== "number" || right.kind !== "number")
|
|
143
|
+
return null;
|
|
144
|
+
if (op === "/" && right.n === 0)
|
|
145
|
+
return null;
|
|
146
|
+
const result = op === "*" ? left.n * right.n : left.n / right.n;
|
|
147
|
+
if (!Number.isFinite(result))
|
|
148
|
+
return null;
|
|
149
|
+
const isInt = op === "*" ? left.isInt && right.isInt : Number.isInteger(result);
|
|
150
|
+
left = { kind: "number", n: result, isInt };
|
|
151
|
+
}
|
|
152
|
+
return left;
|
|
153
|
+
};
|
|
154
|
+
const expr = () => {
|
|
155
|
+
let left = term();
|
|
156
|
+
if (!left)
|
|
157
|
+
return null;
|
|
158
|
+
while (peek().kind === "op" && (peek().op === "+" || peek().op === "-")) {
|
|
159
|
+
const op = advance().op;
|
|
160
|
+
const right = term();
|
|
161
|
+
if (!right)
|
|
162
|
+
return null;
|
|
163
|
+
if (op === "+") {
|
|
164
|
+
if (left.kind === "number" && right.kind === "number") {
|
|
165
|
+
left = { kind: "number", n: left.n + right.n, isInt: left.isInt && right.isInt };
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
left = { kind: "string", s: valueToString(left) + valueToString(right) };
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
if (left.kind !== "number" || right.kind !== "number")
|
|
173
|
+
return null;
|
|
174
|
+
left = { kind: "number", n: left.n - right.n, isInt: left.isInt && right.isInt };
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
return left;
|
|
178
|
+
};
|
|
179
|
+
const result = expr();
|
|
180
|
+
if (!result)
|
|
181
|
+
return null;
|
|
182
|
+
if (peek().kind !== "eof")
|
|
183
|
+
return null;
|
|
184
|
+
return result;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Evaluate a `setVariable` expression-mode value template.
|
|
188
|
+
*
|
|
189
|
+
* Accepts `{{var}}` references, numeric literals (int / float), `+ - * /` and
|
|
190
|
+
* parentheses. Variable values are coerced according to their `kind` tag
|
|
191
|
+
* (string / int / float), or inferred from their string content when no tag
|
|
192
|
+
* is present. `+` on any non-numeric operand becomes string concat.
|
|
193
|
+
*
|
|
194
|
+
* On any parse or evaluation failure, falls back to plain interpolation
|
|
195
|
+
* (existing `interpolate()` semantics, returns a string).
|
|
196
|
+
*/
|
|
197
|
+
function evaluateSetVariableExpression(template, vars) {
|
|
198
|
+
const tokens = tokenize(template);
|
|
199
|
+
if (tokens) {
|
|
200
|
+
const result = parse(tokens, vars);
|
|
201
|
+
if (result) {
|
|
202
|
+
if (result.kind === "number") {
|
|
203
|
+
return { value: valueToString(result), kind: result.isInt ? "int" : "float" };
|
|
204
|
+
}
|
|
205
|
+
return { value: result.s, kind: "string" };
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
return { value: (0, shared_1.interpolate)(template, vars), kind: "string" };
|
|
209
|
+
}
|
|
210
|
+
//# sourceMappingURL=expression.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expression.js","sourceRoot":"","sources":["../../../../../src/UI/Pages/ComposableScreen/elements/expression.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderElement.d.ts","sourceRoot":"","sources":["../../../../../src/UI/Pages/ComposableScreen/elements/renderElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"renderElement.d.ts","sourceRoot":"","sources":["../../../../../src/UI/Pages/ComposableScreen/elements/renderElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAiBzC,eAAO,MAAM,aAAa,GACxB,SAAS,SAAS,EAClB,KAAK,aAAa,EAClB,aAAa,QAAQ,GAAG,QAAQ,GAAG,QAAQ,KAC1C,KAAK,CAAC,SAqER,CAAC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.renderElement = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_native_onboarding_1 = require("@rocapine/react-native-onboarding");
|
|
5
6
|
const StackElement_1 = require("./StackElement");
|
|
6
7
|
const TextElement_1 = require("./TextElement");
|
|
7
8
|
const ImageElement_1 = require("./ImageElement");
|
|
@@ -18,6 +19,11 @@ const CarouselElement_1 = require("./CarouselElement");
|
|
|
18
19
|
const ZStackElement_1 = require("./ZStackElement");
|
|
19
20
|
const SafeAreaViewElement_1 = require("./SafeAreaViewElement");
|
|
20
21
|
const renderElement = (element, ctx, parentType) => {
|
|
22
|
+
if (element.renderWhen) {
|
|
23
|
+
const flatVars = Object.fromEntries(Object.entries(ctx.variables).map(([k, v]) => [k, v === null || v === void 0 ? void 0 : v.value]));
|
|
24
|
+
if (!(0, react_native_onboarding_1.evaluateCondition)(element.renderWhen, flatVars))
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
21
27
|
if (element.type === "YStack" || element.type === "XStack") {
|
|
22
28
|
return (0, jsx_runtime_1.jsx)(StackElement_1.StackElementComponent, { element: element, ctx: ctx, parentType: parentType }, element.id);
|
|
23
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderElement.js","sourceRoot":"","sources":["../../../../../src/UI/Pages/ComposableScreen/elements/renderElement.tsx"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"renderElement.js","sourceRoot":"","sources":["../../../../../src/UI/Pages/ComposableScreen/elements/renderElement.tsx"],"names":[],"mappings":";;;;AACA,+EAAsE;AAGtE,iDAAuD;AACvD,+CAAqD;AACrD,iDAAuD;AACvD,mDAAyD;AACzD,+CAAoD;AACpD,+CAAqD;AACrD,iDAAsD;AACtD,iDAAuD;AACvD,2DAA0D;AAC1D,iEAAgE;AAChE,mDAAyD;AACzD,2DAAiE;AACjE,uDAA6D;AAC7D,mDAAyD;AACzD,+DAAqE;AAE9D,MAAM,aAAa,GAAG,CAC3B,OAAkB,EAClB,GAAkB,EAClB,UAA2C,EAC1B,EAAE;IACnB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CACjC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,CAAC,CAAC,CAC7D,CAAC;QACF,IAAI,CAAC,IAAA,2CAAiB,EAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;IACpE,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3D,OAAO,uBAAC,oCAAqB,IAAkB,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,IAA9D,OAAO,CAAC,EAAE,CAAwD,CAAC;IACxG,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5B,OAAO,uBAAC,kCAAoB,IAAkB,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,IAA9D,OAAO,CAAC,EAAE,CAAwD,CAAC;IACvG,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO,uBAAC,oCAAqB,IAAkB,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAtC,OAAO,CAAC,EAAE,CAAgC,CAAC;IAChF,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,uBAAC,sCAAsB,IAAkB,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAtC,OAAO,CAAC,EAAE,CAAgC,CAAC;IACjF,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5B,OAAO,uBAAC,iCAAmB,IAAkB,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAtC,OAAO,CAAC,EAAE,CAAgC,CAAC;IAC9E,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5B,OAAO,uBAAC,kCAAoB,IAAkB,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAtC,OAAO,CAAC,EAAE,CAAgC,CAAC;IAC/E,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO,uBAAC,mCAAoB,IAAkB,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAtC,OAAO,CAAC,EAAE,CAAgC,CAAC;IAC/E,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO,uBAAC,oCAAqB,IAAkB,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAtC,OAAO,CAAC,EAAE,CAAgC,CAAC;IAChF,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAClC,OAAO,uBAAC,uCAAmB,IAAkB,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAtC,OAAO,CAAC,EAAE,CAAgC,CAAC;IAC9E,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACrC,OAAO,uBAAC,6CAAsB,IAAkB,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAtC,OAAO,CAAC,EAAE,CAAgC,CAAC;IACjF,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,uBAAC,sCAAsB,IAAkB,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAtC,OAAO,CAAC,EAAE,CAAgC,CAAC;IACjF,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAClC,OAAO,uBAAC,8CAA0B,IAAkB,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAtC,OAAO,CAAC,EAAE,CAAgC,CAAC;IACrF,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAChC,OAAO,uBAAC,0CAAwB,IAAkB,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAtC,OAAO,CAAC,EAAE,CAAgC,CAAC;IACnF,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,uBAAC,sCAAsB,IAAkB,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAtC,OAAO,CAAC,EAAE,CAAgC,CAAC;IACjF,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACpC,OAAO,uBAAC,kDAA4B,IAAkB,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAtC,OAAO,CAAC,EAAE,CAAgC,CAAC;IACvF,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAzEW,QAAA,aAAa,iBAyExB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import { type LeafCondition, type ConditionGroup } from "@rocapine/react-native-onboarding";
|
|
2
3
|
import { type StackElementProps } from "./elements/StackElement";
|
|
3
4
|
import { type TextElementProps } from "./elements/TextElement";
|
|
4
5
|
import { type ImageElementProps } from "./elements/ImageElement";
|
|
@@ -34,79 +35,94 @@ export type { SafeAreaViewElementProps, SafeAreaEdge, SafeAreaEdgeMode } from ".
|
|
|
34
35
|
export type UIElement = {
|
|
35
36
|
id: string;
|
|
36
37
|
name?: string;
|
|
38
|
+
renderWhen?: LeafCondition | ConditionGroup;
|
|
37
39
|
type: "YStack" | "XStack";
|
|
38
40
|
props: StackElementProps;
|
|
39
41
|
children: UIElement[];
|
|
40
42
|
} | {
|
|
41
43
|
id: string;
|
|
42
44
|
name?: string;
|
|
45
|
+
renderWhen?: LeafCondition | ConditionGroup;
|
|
43
46
|
type: "Text";
|
|
44
47
|
props: TextElementProps;
|
|
45
48
|
} | {
|
|
46
49
|
id: string;
|
|
47
50
|
name?: string;
|
|
51
|
+
renderWhen?: LeafCondition | ConditionGroup;
|
|
48
52
|
type: "Image";
|
|
49
53
|
props: ImageElementProps;
|
|
50
54
|
} | {
|
|
51
55
|
id: string;
|
|
52
56
|
name?: string;
|
|
57
|
+
renderWhen?: LeafCondition | ConditionGroup;
|
|
53
58
|
type: "Lottie";
|
|
54
59
|
props: LottieElementProps;
|
|
55
60
|
} | {
|
|
56
61
|
id: string;
|
|
57
62
|
name?: string;
|
|
63
|
+
renderWhen?: LeafCondition | ConditionGroup;
|
|
58
64
|
type: "Rive";
|
|
59
65
|
props: RiveElementProps;
|
|
60
66
|
} | {
|
|
61
67
|
id: string;
|
|
62
68
|
name?: string;
|
|
69
|
+
renderWhen?: LeafCondition | ConditionGroup;
|
|
63
70
|
type: "Icon";
|
|
64
71
|
props: IconElementProps;
|
|
65
72
|
} | {
|
|
66
73
|
id: string;
|
|
67
74
|
name?: string;
|
|
75
|
+
renderWhen?: LeafCondition | ConditionGroup;
|
|
68
76
|
type: "Video";
|
|
69
77
|
props: VideoElementProps;
|
|
70
78
|
} | {
|
|
71
79
|
id: string;
|
|
72
80
|
name?: string;
|
|
81
|
+
renderWhen?: LeafCondition | ConditionGroup;
|
|
73
82
|
type: "Input";
|
|
74
83
|
props: InputElementProps;
|
|
75
84
|
} | {
|
|
76
85
|
id: string;
|
|
77
86
|
name?: string;
|
|
87
|
+
renderWhen?: LeafCondition | ConditionGroup;
|
|
78
88
|
type: "Button";
|
|
79
89
|
props: ButtonElementProps;
|
|
80
90
|
} | {
|
|
81
91
|
id: string;
|
|
82
92
|
name?: string;
|
|
93
|
+
renderWhen?: LeafCondition | ConditionGroup;
|
|
83
94
|
type: "RadioGroup";
|
|
84
95
|
props: RadioGroupElementProps;
|
|
85
96
|
} | {
|
|
86
97
|
id: string;
|
|
87
98
|
name?: string;
|
|
99
|
+
renderWhen?: LeafCondition | ConditionGroup;
|
|
88
100
|
type: "CheckboxGroup";
|
|
89
101
|
props: CheckboxGroupElementProps;
|
|
90
102
|
} | {
|
|
91
103
|
id: string;
|
|
92
104
|
name?: string;
|
|
105
|
+
renderWhen?: LeafCondition | ConditionGroup;
|
|
93
106
|
type: "DatePicker";
|
|
94
107
|
props: DatePickerElementProps;
|
|
95
108
|
} | {
|
|
96
109
|
id: string;
|
|
97
110
|
name?: string;
|
|
111
|
+
renderWhen?: LeafCondition | ConditionGroup;
|
|
98
112
|
type: "Carousel";
|
|
99
113
|
props: CarouselElementProps;
|
|
100
114
|
children: UIElement[];
|
|
101
115
|
} | {
|
|
102
116
|
id: string;
|
|
103
117
|
name?: string;
|
|
118
|
+
renderWhen?: LeafCondition | ConditionGroup;
|
|
104
119
|
type: "ZStack";
|
|
105
120
|
props: ZStackElementProps;
|
|
106
121
|
children: UIElement[];
|
|
107
122
|
} | {
|
|
108
123
|
id: string;
|
|
109
124
|
name?: string;
|
|
125
|
+
renderWhen?: LeafCondition | ConditionGroup;
|
|
110
126
|
type: "SafeAreaView";
|
|
111
127
|
props: SafeAreaViewElementProps;
|
|
112
128
|
children: UIElement[];
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/UI/Pages/ComposableScreen/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ComposableScreenStepTypeSchema = exports.ComposableScreenStepPayloadSchema = exports.UIElementSchema = exports.BaseBoxPropsSchema = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
|
+
const react_native_onboarding_1 = require("@rocapine/react-native-onboarding");
|
|
5
6
|
const types_1 = require("../types");
|
|
6
7
|
const StackElement_1 = require("./elements/StackElement");
|
|
7
8
|
const TextElement_1 = require("./elements/TextElement");
|
|
@@ -24,6 +25,7 @@ exports.UIElementSchema = zod_1.z.lazy(() => zod_1.z.union([
|
|
|
24
25
|
zod_1.z.object({
|
|
25
26
|
id: zod_1.z.string(),
|
|
26
27
|
name: zod_1.z.string().optional(),
|
|
28
|
+
renderWhen: zod_1.z.union([react_native_onboarding_1.LeafConditionSchema, react_native_onboarding_1.ConditionGroupSchema]).optional(),
|
|
27
29
|
type: zod_1.z.union([zod_1.z.literal("YStack"), zod_1.z.literal("XStack")]),
|
|
28
30
|
props: StackElement_1.StackElementPropsSchema,
|
|
29
31
|
children: zod_1.z.array(exports.UIElementSchema),
|
|
@@ -31,72 +33,84 @@ exports.UIElementSchema = zod_1.z.lazy(() => zod_1.z.union([
|
|
|
31
33
|
zod_1.z.object({
|
|
32
34
|
id: zod_1.z.string(),
|
|
33
35
|
name: zod_1.z.string().optional(),
|
|
36
|
+
renderWhen: zod_1.z.union([react_native_onboarding_1.LeafConditionSchema, react_native_onboarding_1.ConditionGroupSchema]).optional(),
|
|
34
37
|
type: zod_1.z.literal("Text"),
|
|
35
38
|
props: TextElement_1.TextElementPropsSchema,
|
|
36
39
|
}),
|
|
37
40
|
zod_1.z.object({
|
|
38
41
|
id: zod_1.z.string(),
|
|
39
42
|
name: zod_1.z.string().optional(),
|
|
43
|
+
renderWhen: zod_1.z.union([react_native_onboarding_1.LeafConditionSchema, react_native_onboarding_1.ConditionGroupSchema]).optional(),
|
|
40
44
|
type: zod_1.z.literal("Image"),
|
|
41
45
|
props: ImageElement_1.ImageElementPropsSchema,
|
|
42
46
|
}),
|
|
43
47
|
zod_1.z.object({
|
|
44
48
|
id: zod_1.z.string(),
|
|
45
49
|
name: zod_1.z.string().optional(),
|
|
50
|
+
renderWhen: zod_1.z.union([react_native_onboarding_1.LeafConditionSchema, react_native_onboarding_1.ConditionGroupSchema]).optional(),
|
|
46
51
|
type: zod_1.z.literal("Lottie"),
|
|
47
52
|
props: LottieElement_1.LottieElementPropsSchema,
|
|
48
53
|
}),
|
|
49
54
|
zod_1.z.object({
|
|
50
55
|
id: zod_1.z.string(),
|
|
51
56
|
name: zod_1.z.string().optional(),
|
|
57
|
+
renderWhen: zod_1.z.union([react_native_onboarding_1.LeafConditionSchema, react_native_onboarding_1.ConditionGroupSchema]).optional(),
|
|
52
58
|
type: zod_1.z.literal("Rive"),
|
|
53
59
|
props: RiveElement_1.RiveElementPropsSchema,
|
|
54
60
|
}),
|
|
55
61
|
zod_1.z.object({
|
|
56
62
|
id: zod_1.z.string(),
|
|
57
63
|
name: zod_1.z.string().optional(),
|
|
64
|
+
renderWhen: zod_1.z.union([react_native_onboarding_1.LeafConditionSchema, react_native_onboarding_1.ConditionGroupSchema]).optional(),
|
|
58
65
|
type: zod_1.z.literal("Icon"),
|
|
59
66
|
props: IconElement_1.IconElementPropsSchema,
|
|
60
67
|
}),
|
|
61
68
|
zod_1.z.object({
|
|
62
69
|
id: zod_1.z.string(),
|
|
63
70
|
name: zod_1.z.string().optional(),
|
|
71
|
+
renderWhen: zod_1.z.union([react_native_onboarding_1.LeafConditionSchema, react_native_onboarding_1.ConditionGroupSchema]).optional(),
|
|
64
72
|
type: zod_1.z.literal("Video"),
|
|
65
73
|
props: VideoElement_1.VideoElementPropsSchema,
|
|
66
74
|
}),
|
|
67
75
|
zod_1.z.object({
|
|
68
76
|
id: zod_1.z.string(),
|
|
69
77
|
name: zod_1.z.string().optional(),
|
|
78
|
+
renderWhen: zod_1.z.union([react_native_onboarding_1.LeafConditionSchema, react_native_onboarding_1.ConditionGroupSchema]).optional(),
|
|
70
79
|
type: zod_1.z.literal("Input"),
|
|
71
80
|
props: InputElement_1.InputElementPropsSchema,
|
|
72
81
|
}),
|
|
73
82
|
zod_1.z.object({
|
|
74
83
|
id: zod_1.z.string(),
|
|
75
84
|
name: zod_1.z.string().optional(),
|
|
85
|
+
renderWhen: zod_1.z.union([react_native_onboarding_1.LeafConditionSchema, react_native_onboarding_1.ConditionGroupSchema]).optional(),
|
|
76
86
|
type: zod_1.z.literal("Button"),
|
|
77
87
|
props: ButtonElement_1.ButtonElementPropsSchema,
|
|
78
88
|
}),
|
|
79
89
|
zod_1.z.object({
|
|
80
90
|
id: zod_1.z.string(),
|
|
81
91
|
name: zod_1.z.string().optional(),
|
|
92
|
+
renderWhen: zod_1.z.union([react_native_onboarding_1.LeafConditionSchema, react_native_onboarding_1.ConditionGroupSchema]).optional(),
|
|
82
93
|
type: zod_1.z.literal("RadioGroup"),
|
|
83
94
|
props: RadioGroupElement_1.RadioGroupElementPropsSchema,
|
|
84
95
|
}),
|
|
85
96
|
zod_1.z.object({
|
|
86
97
|
id: zod_1.z.string(),
|
|
87
98
|
name: zod_1.z.string().optional(),
|
|
99
|
+
renderWhen: zod_1.z.union([react_native_onboarding_1.LeafConditionSchema, react_native_onboarding_1.ConditionGroupSchema]).optional(),
|
|
88
100
|
type: zod_1.z.literal("CheckboxGroup"),
|
|
89
101
|
props: CheckboxGroupElement_1.CheckboxGroupElementPropsSchema,
|
|
90
102
|
}),
|
|
91
103
|
zod_1.z.object({
|
|
92
104
|
id: zod_1.z.string(),
|
|
93
105
|
name: zod_1.z.string().optional(),
|
|
106
|
+
renderWhen: zod_1.z.union([react_native_onboarding_1.LeafConditionSchema, react_native_onboarding_1.ConditionGroupSchema]).optional(),
|
|
94
107
|
type: zod_1.z.literal("DatePicker"),
|
|
95
108
|
props: DatePickerElement_1.DatePickerElementPropsSchema,
|
|
96
109
|
}),
|
|
97
110
|
zod_1.z.object({
|
|
98
111
|
id: zod_1.z.string(),
|
|
99
112
|
name: zod_1.z.string().optional(),
|
|
113
|
+
renderWhen: zod_1.z.union([react_native_onboarding_1.LeafConditionSchema, react_native_onboarding_1.ConditionGroupSchema]).optional(),
|
|
100
114
|
type: zod_1.z.literal("Carousel"),
|
|
101
115
|
props: CarouselElement_1.CarouselElementPropsSchema,
|
|
102
116
|
children: zod_1.z.array(exports.UIElementSchema),
|
|
@@ -104,6 +118,7 @@ exports.UIElementSchema = zod_1.z.lazy(() => zod_1.z.union([
|
|
|
104
118
|
zod_1.z.object({
|
|
105
119
|
id: zod_1.z.string(),
|
|
106
120
|
name: zod_1.z.string().optional(),
|
|
121
|
+
renderWhen: zod_1.z.union([react_native_onboarding_1.LeafConditionSchema, react_native_onboarding_1.ConditionGroupSchema]).optional(),
|
|
107
122
|
type: zod_1.z.literal("ZStack"),
|
|
108
123
|
props: ZStackElement_1.ZStackElementPropsSchema,
|
|
109
124
|
children: zod_1.z.array(exports.UIElementSchema),
|
|
@@ -111,6 +126,7 @@ exports.UIElementSchema = zod_1.z.lazy(() => zod_1.z.union([
|
|
|
111
126
|
zod_1.z.object({
|
|
112
127
|
id: zod_1.z.string(),
|
|
113
128
|
name: zod_1.z.string().optional(),
|
|
129
|
+
renderWhen: zod_1.z.union([react_native_onboarding_1.LeafConditionSchema, react_native_onboarding_1.ConditionGroupSchema]).optional(),
|
|
114
130
|
type: zod_1.z.literal("SafeAreaView"),
|
|
115
131
|
props: SafeAreaViewElement_1.SafeAreaViewElementPropsSchema,
|
|
116
132
|
children: zod_1.z.array(exports.UIElementSchema),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/UI/Pages/ComposableScreen/types.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,oCAA+C;AAC/C,0DAA0F;AAC1F,wDAAuF;AACvF,0DAA0F;AAC1F,4DAA6F;AAC7F,wDAAuF;AACvF,wDAAuF;AACvF,0DAA0F;AAC1F,0DAA0F;AAC1F,4DAA6F;AAC7F,oEAAyG;AACzG,0EAAkH;AAClH,oEAAyG;AACzG,gEAAmG;AACnG,4DAA6F;AAC7F,wEAA+G;AAG/G,wDAA6D;AAApD,kHAAA,kBAAkB,OAAA;
|
|
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
|
+
"version": "1.23.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.23.0",
|
|
50
50
|
"@shopify/react-native-skia": ">=1.0.0",
|
|
51
51
|
"@tanstack/react-query": ">=5.0.0",
|
|
52
52
|
"@types/react": "*",
|
|
@@ -8,6 +8,7 @@ import { OnboardingProgressContext, ComposableVariableEntry } from "../../Provid
|
|
|
8
8
|
import { useTheme } from "../../Theme/useTheme";
|
|
9
9
|
import { RenderContext } from "./elements/shared";
|
|
10
10
|
import { renderElement } from "./elements/renderElement";
|
|
11
|
+
import { collectElementDefaults } from "./elements/collectDefaults";
|
|
11
12
|
|
|
12
13
|
type ContentProps = {
|
|
13
14
|
step: ComposableScreenStepType;
|
|
@@ -29,12 +30,22 @@ const ComposableScreenRendererBase = ({ step, onContinue }: ContentProps) => {
|
|
|
29
30
|
[setComposableVariable, setHeadlessVariable]
|
|
30
31
|
);
|
|
31
32
|
|
|
33
|
+
// Defaults declared inline on UIElements (Carousel.defaultIndex, RadioGroup.defaultValue, etc.)
|
|
34
|
+
// are overlaid onto ctx.variables so renderWhen / expressions see them on first render —
|
|
35
|
+
// before per-element seeding effects (which persist into composableVariables) run.
|
|
36
|
+
// composableVariables wins over defaults so user-driven updates aren't clobbered.
|
|
37
|
+
const elementDefaults = useMemo(() => collectElementDefaults(elements), [elements]);
|
|
38
|
+
const effectiveVariables = useMemo(
|
|
39
|
+
() => ({ ...elementDefaults, ...composableVariables }),
|
|
40
|
+
[elementDefaults, composableVariables]
|
|
41
|
+
);
|
|
42
|
+
|
|
32
43
|
const renderChildren = (children: UIElement[], parentType: "XStack" | "YStack" | "ZStack") =>
|
|
33
44
|
children.map((child) => renderElement(child, ctx, parentType));
|
|
34
45
|
|
|
35
46
|
const ctx: RenderContext = {
|
|
36
47
|
theme,
|
|
37
|
-
variables:
|
|
48
|
+
variables: effectiveVariables,
|
|
38
49
|
setVariable: setVariableAndSync,
|
|
39
50
|
onContinue,
|
|
40
51
|
customActions,
|
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
evaluateCondition,
|
|
7
7
|
type LeafCondition,
|
|
8
8
|
type ConditionGroup,
|
|
9
|
+
type ComposableVariableKind,
|
|
9
10
|
LeafConditionSchema,
|
|
10
11
|
ConditionGroupSchema,
|
|
11
12
|
} from "@rocapine/react-native-onboarding";
|
|
@@ -14,6 +15,7 @@ import { UIElement } from "../types";
|
|
|
14
15
|
import { RenderContext, dim, resolveInheritedFontFamily } from "./shared";
|
|
15
16
|
import { GradientBox } from "./GradientBox";
|
|
16
17
|
import { ComposableVariableEntry } from "../../../Provider/OnboardingProgressProvider";
|
|
18
|
+
import { evaluateSetVariableExpression } from "./expression";
|
|
17
19
|
|
|
18
20
|
export type CustomButtonAction = {
|
|
19
21
|
type: "custom";
|
|
@@ -32,6 +34,20 @@ export type SetVariableButtonAction = {
|
|
|
32
34
|
name: string;
|
|
33
35
|
value: string;
|
|
34
36
|
label?: string;
|
|
37
|
+
/**
|
|
38
|
+
* When `"expression"`, `value` is parsed as an arithmetic expression with
|
|
39
|
+
* `{{var}}` references, numeric literals, and `+ - * /` (parens supported).
|
|
40
|
+
* On parse failure, falls back to plain interpolation (string).
|
|
41
|
+
* Defaults to `"literal"` — `value` stored verbatim.
|
|
42
|
+
*/
|
|
43
|
+
valueMode?: "literal" | "expression";
|
|
44
|
+
/**
|
|
45
|
+
* Tags the stored variable's underlying type. In `"literal"` mode this is
|
|
46
|
+
* used as-is. In `"expression"` mode the inferred result kind is used
|
|
47
|
+
* unless `kind` is explicitly set (ignored — expression mode derives kind
|
|
48
|
+
* from evaluation).
|
|
49
|
+
*/
|
|
50
|
+
kind?: ComposableVariableKind;
|
|
35
51
|
};
|
|
36
52
|
|
|
37
53
|
export const SetVariableButtonActionSchema = z.object({
|
|
@@ -39,6 +55,8 @@ export const SetVariableButtonActionSchema = z.object({
|
|
|
39
55
|
name: z.string().min(1, "name must not be empty"),
|
|
40
56
|
value: z.string(),
|
|
41
57
|
label: z.string().optional(),
|
|
58
|
+
valueMode: z.enum(["literal", "expression"]).optional(),
|
|
59
|
+
kind: z.enum(["int", "float", "string"]).optional(),
|
|
42
60
|
});
|
|
43
61
|
|
|
44
62
|
export type ButtonAction = "continue" | CustomButtonAction | SetVariableButtonAction;
|
|
@@ -119,7 +137,17 @@ export const ButtonElementComponent = ({ element, ctx }: Props): React.ReactElem
|
|
|
119
137
|
return;
|
|
120
138
|
}
|
|
121
139
|
if (act.type === "setVariable") {
|
|
122
|
-
|
|
140
|
+
let value: string;
|
|
141
|
+
let kind: ComposableVariableKind | undefined;
|
|
142
|
+
if (act.valueMode === "expression") {
|
|
143
|
+
const computed = evaluateSetVariableExpression(act.value, variables);
|
|
144
|
+
value = computed.value;
|
|
145
|
+
kind = computed.kind;
|
|
146
|
+
} else {
|
|
147
|
+
value = act.value;
|
|
148
|
+
kind = act.kind;
|
|
149
|
+
}
|
|
150
|
+
setVariable(act.name, { value, label: act.label, kind });
|
|
123
151
|
continue;
|
|
124
152
|
}
|
|
125
153
|
const handler = customActions[act.function];
|