@rocapine/react-native-onboarding-ui 1.32.0 → 1.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/UI/Pages/ComposableScreen/Renderer.js.map +1 -1
  2. package/dist/UI/Pages/ComposableScreen/elements/ImageElement.d.ts.map +1 -1
  3. package/dist/UI/Pages/ComposableScreen/elements/ImageElement.js +72 -32
  4. package/dist/UI/Pages/ComposableScreen/elements/ImageElement.js.map +1 -1
  5. package/dist/UI/Pages/ComposableScreen/elements/RichTextElement.d.ts +305 -0
  6. package/dist/UI/Pages/ComposableScreen/elements/RichTextElement.d.ts.map +1 -0
  7. package/dist/UI/Pages/ComposableScreen/elements/RichTextElement.js +142 -0
  8. package/dist/UI/Pages/ComposableScreen/elements/RichTextElement.js.map +1 -0
  9. package/dist/UI/Pages/ComposableScreen/elements/ScrollViewElement.d.ts +16 -0
  10. package/dist/UI/Pages/ComposableScreen/elements/ScrollViewElement.d.ts.map +1 -1
  11. package/dist/UI/Pages/ComposableScreen/elements/ScrollViewElement.js +13 -2
  12. package/dist/UI/Pages/ComposableScreen/elements/ScrollViewElement.js.map +1 -1
  13. package/dist/UI/Pages/ComposableScreen/elements/StackElement.d.ts +1 -1
  14. package/dist/UI/Pages/ComposableScreen/elements/StackElement.d.ts.map +1 -1
  15. package/dist/UI/Pages/ComposableScreen/elements/TextElement.d.ts +1 -1
  16. package/dist/UI/Pages/ComposableScreen/elements/TextElement.d.ts.map +1 -1
  17. package/dist/UI/Pages/ComposableScreen/elements/TextElement.js +26 -12
  18. package/dist/UI/Pages/ComposableScreen/elements/TextElement.js.map +1 -1
  19. package/dist/UI/Pages/ComposableScreen/elements/renderElement.d.ts +1 -1
  20. package/dist/UI/Pages/ComposableScreen/elements/renderElement.d.ts.map +1 -1
  21. package/dist/UI/Pages/ComposableScreen/elements/renderElement.js +4 -0
  22. package/dist/UI/Pages/ComposableScreen/elements/renderElement.js.map +1 -1
  23. package/dist/UI/Pages/ComposableScreen/elements/shared.d.ts +12 -1
  24. package/dist/UI/Pages/ComposableScreen/elements/shared.d.ts.map +1 -1
  25. package/dist/UI/Pages/ComposableScreen/elements/shared.js +6 -1
  26. package/dist/UI/Pages/ComposableScreen/elements/shared.js.map +1 -1
  27. package/dist/UI/Pages/ComposableScreen/types.d.ts +11 -0
  28. package/dist/UI/Pages/ComposableScreen/types.d.ts.map +1 -1
  29. package/dist/UI/Pages/ComposableScreen/types.js +15 -2
  30. package/dist/UI/Pages/ComposableScreen/types.js.map +1 -1
  31. package/package.json +5 -1
  32. package/src/UI/Pages/ComposableScreen/Renderer.tsx +1 -1
  33. package/src/UI/Pages/ComposableScreen/elements/ImageElement.tsx +102 -42
  34. package/src/UI/Pages/ComposableScreen/elements/RichTextElement.tsx +188 -0
  35. package/src/UI/Pages/ComposableScreen/elements/ScrollViewElement.tsx +15 -2
  36. package/src/UI/Pages/ComposableScreen/elements/StackElement.tsx +1 -1
  37. package/src/UI/Pages/ComposableScreen/elements/TextElement.tsx +21 -11
  38. package/src/UI/Pages/ComposableScreen/elements/renderElement.tsx +6 -1
  39. package/src/UI/Pages/ComposableScreen/elements/shared.ts +19 -1
  40. package/src/UI/Pages/ComposableScreen/types.ts +25 -2
@@ -1 +1 @@
1
- {"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../../../../src/UI/Pages/ComposableScreen/Renderer.tsx"],"names":[],"mappings":";;;;AAAA,iCAAyD;AACzD,+CAAgF;AAChF,+EAAyG;AACzG,mCAA8F;AAC9F,uDAAwD;AACxD,2EAAwE;AACxE,0FAA+G;AAC/G,mDAAgD;AAEhD,4DAAyD;AACzD,gEAAoE;AAOpE,MAAM,4BAA4B,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,EAAgB,EAAE,EAAE;IAC1E,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,mBAAQ,GAAE,CAAC;IAC7B,MAAM,aAAa,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,sCAA8B,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACxF,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC;IAC3C,MAAM,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,GAAG,IAAA,kBAAU,EAAC,sDAAyB,CAAC,CAAC;IAC7F,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,aAAa,EAAE,GAAG,IAAA,kBAAU,EAAC,mDAAuB,CAAC,CAAC;IAEhG,MAAM,kBAAkB,GAAG,IAAA,mBAAW,EACpC,CAAC,GAAW,EAAE,KAA8B,EAAE,EAAE;QAC9C,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAClC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC,EACD,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,CAC7C,CAAC;IAEF,gGAAgG;IAChG,yFAAyF;IACzF,mFAAmF;IACnF,kFAAkF;IAClF,MAAM,eAAe,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,IAAA,wCAAsB,EAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpF,MAAM,kBAAkB,GAAG,IAAA,eAAO,EAChC,GAAG,EAAE,CAAC,iCAAM,eAAe,GAAK,mBAAmB,EAAG,EACtD,CAAC,eAAe,EAAE,mBAAmB,CAAC,CACvC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,QAAqB,EAAE,UAA0C,EAAE,EAAE,CAC3F,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,6BAAa,EAAC,KAAK,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;IAEjE,MAAM,GAAG,GAAkB;QACzB,KAAK;QACL,SAAS,EAAE,kBAAkB;QAC7B,WAAW,EAAE,kBAAkB;QAC/B,UAAU;QACV,aAAa;QACb,cAAc;KACf,CAAC;IAEF,OAAO,CACL,uBAAC,uCAAkB,IACjB,IAAI,EAAE,aAAa,EACnB,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,EACZ,iBAAiB,kBAEjB,uBAAC,mCAAoB,IACnB,KAAK,EAAE,MAAM,CAAC,IAAI,EAClB,QAAQ,EAAE,uBAAQ,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,YAEtD,uBAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,YACrB,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,6BAAa,EAAC,OAAO,EAAE,GAAG,CAAC,CAAC,GAClD,GACc,GACJ,CACtB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,yBAAU,CAAC,MAAM,CAAC;IAC/B,IAAI,EAAE;QACJ,IAAI,EAAE,CAAC;KACR;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":";;;;AAAA,iCAAyD;AACzD,+CAAgF;AAChF,+EAAyG;AACzG,mCAA8F;AAC9F,uDAAwD;AACxD,2EAAwE;AACxE,0FAA+G;AAC/G,mDAAgD;AAEhD,4DAAyD;AACzD,gEAAoE;AAOpE,MAAM,4BAA4B,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,EAAgB,EAAE,EAAE;IAC1E,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,mBAAQ,GAAE,CAAC;IAC7B,MAAM,aAAa,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,sCAA8B,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACxF,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC;IAC3C,MAAM,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,GAAG,IAAA,kBAAU,EAAC,sDAAyB,CAAC,CAAC;IAC7F,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,aAAa,EAAE,GAAG,IAAA,kBAAU,EAAC,mDAAuB,CAAC,CAAC;IAEhG,MAAM,kBAAkB,GAAG,IAAA,mBAAW,EACpC,CAAC,GAAW,EAAE,KAA8B,EAAE,EAAE;QAC9C,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAClC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC,EACD,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,CAC7C,CAAC;IAEF,gGAAgG;IAChG,yFAAyF;IACzF,mFAAmF;IACnF,kFAAkF;IAClF,MAAM,eAAe,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,IAAA,wCAAsB,EAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpF,MAAM,kBAAkB,GAAG,IAAA,eAAO,EAChC,GAAG,EAAE,CAAC,iCAAM,eAAe,GAAK,mBAAmB,EAAG,EACtD,CAAC,eAAe,EAAE,mBAAmB,CAAC,CACvC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,QAAqB,EAAE,UAAmE,EAAE,EAAE,CACpH,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,6BAAa,EAAC,KAAK,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;IAEjE,MAAM,GAAG,GAAkB;QACzB,KAAK;QACL,SAAS,EAAE,kBAAkB;QAC7B,WAAW,EAAE,kBAAkB;QAC/B,UAAU;QACV,aAAa;QACb,cAAc;KACf,CAAC;IAEF,OAAO,CACL,uBAAC,uCAAkB,IACjB,IAAI,EAAE,aAAa,EACnB,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,EACZ,iBAAiB,kBAEjB,uBAAC,mCAAoB,IACnB,KAAK,EAAE,MAAM,CAAC,IAAI,EAClB,QAAQ,EAAE,uBAAQ,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,YAEtD,uBAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,YACrB,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,6BAAa,EAAC,OAAO,EAAE,GAAG,CAAC,CAAC,GAClD,GACc,GACJ,CACtB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,yBAAU,CAAC,MAAM,CAAC;IAC/B,IAAI,EAAE;QACJ,IAAI,EAAE,CAAC;KACR;CACF,CAAC,CAAC;AAEU,QAAA,wBAAwB,GAAG,IAAA,iCAAiB,EAAC,4BAA4B,EAAE,kBAAkB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ImageElement.d.ts","sourceRoot":"","sources":["../../../../../src/UI/Pages/ComposableScreen/elements/ImageElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAsB,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,aAAa,EAAyB,MAAM,UAAU,CAAC;AAGhE,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;CACzD,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIlC,CAAC;AAEH,KAAK,cAAc,GAAG,OAAO,CAAC,SAAS,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAE5D,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,cAAc,CAAC;IACxB,GAAG,EAAE,aAAa,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,aAAa,KAAK,KAAG,KAAK,CAAC,YAsFhE,CAAC"}
1
+ {"version":3,"file":"ImageElement.d.ts","sourceRoot":"","sources":["../../../../../src/UI/Pages/ComposableScreen/elements/ImageElement.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,EAAyB,MAAM,UAAU,CAAC;AAahE,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;CACzD,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIlC,CAAC;AAmCH,KAAK,cAAc,GAAG,OAAO,CAAC,SAAS,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAE5D,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,cAAc,CAAC;IACxB,GAAG,EAAE,aAAa,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,aAAa,KAAK,KAAG,KAAK,CAAC,YAsGhE,CAAC"}
@@ -4,17 +4,50 @@ exports.ImageElementComponent = exports.ImageElementPropsSchema = 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_svg_1 = require("react-native-svg");
7
8
  const BaseBoxProps_1 = require("./BaseBoxProps");
8
9
  const shared_1 = require("./shared");
9
10
  const GradientBox_1 = require("./GradientBox");
11
+ // expo-image decodes webp/avif reliably across platforms (RN's built-in Image is
12
+ // flaky for webp on iOS). Optional peer dep — fall back to RN Image when absent,
13
+ // mirroring GradientBox's expo-linear-gradient handling.
14
+ let ExpoImage = null;
15
+ try {
16
+ ExpoImage = require("expo-image").Image;
17
+ }
18
+ catch (_a) {
19
+ // expo-image not installed — RN Image fallback below
20
+ }
10
21
  exports.ImageElementPropsSchema = BaseBoxProps_1.BaseBoxPropsSchema.extend({
11
22
  url: zod_1.z.string().min(1, "url must not be empty"),
12
23
  aspectRatio: zod_1.z.number().optional(),
13
24
  resizeMode: zod_1.z.enum(["cover", "contain", "stretch", "center"]).optional(),
14
25
  });
26
+ // RN resizeMode → expo-image contentFit.
27
+ const CONTENT_FIT = {
28
+ cover: "cover",
29
+ contain: "contain",
30
+ stretch: "fill",
31
+ center: "none",
32
+ };
33
+ // RN resizeMode → SVG preserveAspectRatio (SvgUri has no resizeMode).
34
+ const SVG_ASPECT = {
35
+ cover: "xMidYMid slice",
36
+ contain: "xMidYMid meet",
37
+ center: "xMidYMid meet",
38
+ stretch: "none",
39
+ };
40
+ // SVGs need react-native-svg's SvgUri — RN/expo Image can't decode SVG XML. Auto
41
+ // -detected by file extension (query-string / hash tolerant) so existing payloads
42
+ // with `.svg` URLs just work, no schema change.
43
+ const isSvgUrl = (url) => url.split(/[?#]/)[0].toLowerCase().endsWith(".svg");
44
+ // Pick expo-image when installed (better webp/avif), else RN Image. resizeMode
45
+ // passes through unchanged on RN; maps to contentFit on expo-image.
46
+ const renderRaster = (url, resizeMode, style) => ExpoImage ? ((0, jsx_runtime_1.jsx)(ExpoImage, { source: url, contentFit: CONTENT_FIT[resizeMode !== null && resizeMode !== void 0 ? resizeMode : "cover"], style: style })) : ((0, jsx_runtime_1.jsx)(react_native_1.Image, { source: { uri: url }, resizeMode: resizeMode, style: style }));
15
47
  const ImageElementComponent = ({ element }) => {
16
- var _a;
48
+ var _a, _b, _c;
17
49
  const p = element.props;
50
+ const isSvg = isSvgUrl(p.url);
18
51
  const hasShadow = p.shadowColor != null || p.elevation != null;
19
52
  // iOS clips shadows when overflow:hidden, so a shadow-bearing Image needs a
20
53
  // wrapper View carrying the shadow (no overflow clip) and the Image inside
@@ -22,42 +55,49 @@ const ImageElementComponent = ({ element }) => {
22
55
  const shadowStyle = hasShadow ? (0, shared_1.buildShadowStyle)(p) : null;
23
56
  if (p.backgroundGradient || hasShadow) {
24
57
  const wrapperStyle = Object.assign({ flex: p.flex, flexShrink: p.flexShrink, flexGrow: p.flexGrow, alignSelf: p.alignSelf, aspectRatio: p.aspectRatio, width: (0, shared_1.dim)(p.width), height: (0, shared_1.dim)(p.height), minWidth: p.minWidth, maxWidth: p.maxWidth, minHeight: p.minHeight, maxHeight: p.maxHeight, borderRadius: p.borderRadius, borderWidth: p.borderWidth, borderColor: p.borderColor, opacity: p.opacity, margin: p.margin, marginHorizontal: p.marginHorizontal, marginVertical: p.marginVertical, padding: p.padding, paddingHorizontal: p.paddingHorizontal, paddingVertical: p.paddingVertical }, (shadowStyle !== null && shadowStyle !== void 0 ? shadowStyle : {}));
25
- const innerImage = ((0, jsx_runtime_1.jsx)(react_native_1.Image, { source: { uri: p.url }, resizeMode: p.resizeMode, style: {
26
- width: "100%",
27
- height: "100%",
28
- borderRadius: p.borderRadius,
29
- overflow: ((_a = p.overflow) !== null && _a !== void 0 ? _a : "hidden"),
30
- } }));
58
+ // Inner content fills the wrapper (which carries layout + corner clip).
59
+ const innerImage = isSvg ? ((0, jsx_runtime_1.jsx)(react_native_svg_1.SvgUri, { uri: p.url, width: "100%", height: "100%", preserveAspectRatio: SVG_ASPECT[(_a = p.resizeMode) !== null && _a !== void 0 ? _a : "contain"] })) : (renderRaster(p.url, p.resizeMode, {
60
+ width: "100%",
61
+ height: "100%",
62
+ borderRadius: p.borderRadius,
63
+ overflow: ((_b = p.overflow) !== null && _b !== void 0 ? _b : "hidden"),
64
+ }));
31
65
  if (p.backgroundGradient) {
32
66
  return ((0, jsx_runtime_1.jsx)(GradientBox_1.GradientBox, { gradient: p.backgroundGradient, style: wrapperStyle, children: innerImage }));
33
67
  }
34
68
  return (0, jsx_runtime_1.jsx)(react_native_1.View, { style: wrapperStyle, children: innerImage });
35
69
  }
36
- return ((0, jsx_runtime_1.jsx)(react_native_1.Image, { source: { uri: p.url }, resizeMode: p.resizeMode, style: ({
37
- flex: p.flex,
38
- flexShrink: p.flexShrink,
39
- flexGrow: p.flexGrow,
40
- alignSelf: p.alignSelf,
41
- aspectRatio: p.aspectRatio,
42
- width: (0, shared_1.dim)(p.width),
43
- height: (0, shared_1.dim)(p.height),
44
- minWidth: p.minWidth,
45
- maxWidth: p.maxWidth,
46
- minHeight: p.minHeight,
47
- maxHeight: p.maxHeight,
48
- backgroundColor: p.backgroundColor,
49
- overflow: p.overflow,
50
- borderRadius: p.borderRadius,
51
- borderWidth: p.borderWidth,
52
- borderColor: p.borderColor,
53
- opacity: p.opacity,
54
- margin: p.margin,
55
- marginHorizontal: p.marginHorizontal,
56
- marginVertical: p.marginVertical,
57
- padding: p.padding,
58
- paddingHorizontal: p.paddingHorizontal,
59
- paddingVertical: p.paddingVertical,
60
- }) }));
70
+ const simpleStyle = {
71
+ flex: p.flex,
72
+ flexShrink: p.flexShrink,
73
+ flexGrow: p.flexGrow,
74
+ alignSelf: p.alignSelf,
75
+ aspectRatio: p.aspectRatio,
76
+ width: (0, shared_1.dim)(p.width),
77
+ height: (0, shared_1.dim)(p.height),
78
+ minWidth: p.minWidth,
79
+ maxWidth: p.maxWidth,
80
+ minHeight: p.minHeight,
81
+ maxHeight: p.maxHeight,
82
+ backgroundColor: p.backgroundColor,
83
+ overflow: p.overflow,
84
+ borderRadius: p.borderRadius,
85
+ borderWidth: p.borderWidth,
86
+ borderColor: p.borderColor,
87
+ opacity: p.opacity,
88
+ margin: p.margin,
89
+ marginHorizontal: p.marginHorizontal,
90
+ marginVertical: p.marginVertical,
91
+ padding: p.padding,
92
+ paddingHorizontal: p.paddingHorizontal,
93
+ paddingVertical: p.paddingVertical,
94
+ };
95
+ // SvgUri can't carry the full RN layout style itself, so wrap it in a View that
96
+ // does, and let the SVG fill it.
97
+ if (isSvg) {
98
+ return ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: simpleStyle, children: (0, jsx_runtime_1.jsx)(react_native_svg_1.SvgUri, { uri: p.url, width: "100%", height: "100%", preserveAspectRatio: SVG_ASPECT[(_c = p.resizeMode) !== null && _c !== void 0 ? _c : "contain"] }) }));
99
+ }
100
+ return renderRaster(p.url, p.resizeMode, simpleStyle);
61
101
  };
62
102
  exports.ImageElementComponent = ImageElementComponent;
63
103
  //# sourceMappingURL=ImageElement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ImageElement.js","sourceRoot":"","sources":["../../../../../src/UI/Pages/ComposableScreen/elements/ImageElement.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ImageElement.js","sourceRoot":"","sources":["../../../../../src/UI/Pages/ComposableScreen/elements/ImageElement.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,305 @@
1
+ import React from "react";
2
+ import { z } from "zod";
3
+ import { BaseBoxProps } from "./BaseBoxProps";
4
+ import { UIElement } from "../types";
5
+ import { RenderContext } from "./shared";
6
+ export type RichTextElementProps = BaseBoxProps & {
7
+ gap?: number;
8
+ alignItems?: "flex-start" | "center" | "flex-end" | "baseline" | "stretch";
9
+ justifyContent?: "flex-start" | "center" | "flex-end" | "space-between" | "space-around";
10
+ flexWrap?: "wrap" | "nowrap";
11
+ fontSize?: number;
12
+ fontWeight?: string;
13
+ fontFamily?: string | "inherit";
14
+ fontStyle?: "normal" | "italic";
15
+ color?: string;
16
+ textAlign?: "left" | "center" | "right";
17
+ letterSpacing?: number;
18
+ lineHeight?: number;
19
+ };
20
+ export declare const RichTextElementPropsSchema: z.ZodObject<{
21
+ width: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
22
+ height: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
23
+ minWidth: z.ZodOptional<z.ZodNumber>;
24
+ maxWidth: z.ZodOptional<z.ZodNumber>;
25
+ minHeight: z.ZodOptional<z.ZodNumber>;
26
+ maxHeight: z.ZodOptional<z.ZodNumber>;
27
+ flex: z.ZodOptional<z.ZodNumber>;
28
+ flexShrink: z.ZodOptional<z.ZodNumber>;
29
+ flexGrow: z.ZodOptional<z.ZodNumber>;
30
+ aspectRatio: z.ZodOptional<z.ZodNumber>;
31
+ alignSelf: z.ZodOptional<z.ZodEnum<{
32
+ auto: "auto";
33
+ center: "center";
34
+ "flex-start": "flex-start";
35
+ "flex-end": "flex-end";
36
+ stretch: "stretch";
37
+ baseline: "baseline";
38
+ }>>;
39
+ opacity: z.ZodOptional<z.ZodNumber>;
40
+ backgroundColor: z.ZodOptional<z.ZodString>;
41
+ backgroundGradient: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
42
+ type: z.ZodLiteral<"linear">;
43
+ from: z.ZodEnum<{
44
+ left: "left";
45
+ right: "right";
46
+ top: "top";
47
+ bottom: "bottom";
48
+ topLeft: "topLeft";
49
+ topRight: "topRight";
50
+ bottomLeft: "bottomLeft";
51
+ bottomRight: "bottomRight";
52
+ }>;
53
+ to: z.ZodEnum<{
54
+ left: "left";
55
+ right: "right";
56
+ top: "top";
57
+ bottom: "bottom";
58
+ topLeft: "topLeft";
59
+ topRight: "topRight";
60
+ bottomLeft: "bottomLeft";
61
+ bottomRight: "bottomRight";
62
+ }>;
63
+ stops: z.ZodArray<z.ZodObject<{
64
+ color: z.ZodString;
65
+ position: z.ZodOptional<z.ZodNumber>;
66
+ }, z.core.$strip>>;
67
+ }, z.core.$strip>], "type">>;
68
+ overflow: z.ZodOptional<z.ZodEnum<{
69
+ visible: "visible";
70
+ hidden: "hidden";
71
+ scroll: "scroll";
72
+ }>>;
73
+ margin: z.ZodOptional<z.ZodNumber>;
74
+ marginHorizontal: z.ZodOptional<z.ZodNumber>;
75
+ marginVertical: z.ZodOptional<z.ZodNumber>;
76
+ padding: z.ZodOptional<z.ZodNumber>;
77
+ paddingHorizontal: z.ZodOptional<z.ZodNumber>;
78
+ paddingVertical: z.ZodOptional<z.ZodNumber>;
79
+ borderWidth: z.ZodOptional<z.ZodNumber>;
80
+ borderRadius: z.ZodOptional<z.ZodNumber>;
81
+ borderColor: z.ZodOptional<z.ZodString>;
82
+ shadowColor: z.ZodOptional<z.ZodString>;
83
+ shadowOffset: z.ZodOptional<z.ZodObject<{
84
+ width: z.ZodNumber;
85
+ height: z.ZodNumber;
86
+ }, z.core.$strip>>;
87
+ shadowOpacity: z.ZodOptional<z.ZodNumber>;
88
+ shadowRadius: z.ZodOptional<z.ZodNumber>;
89
+ elevation: z.ZodOptional<z.ZodNumber>;
90
+ transform: z.ZodOptional<z.ZodObject<{
91
+ translateX: z.ZodOptional<z.ZodNumber>;
92
+ translateY: z.ZodOptional<z.ZodNumber>;
93
+ scale: z.ZodOptional<z.ZodNumber>;
94
+ scaleX: z.ZodOptional<z.ZodNumber>;
95
+ scaleY: z.ZodOptional<z.ZodNumber>;
96
+ rotate: z.ZodOptional<z.ZodNumber>;
97
+ }, z.core.$strip>>;
98
+ animation: z.ZodOptional<z.ZodObject<{
99
+ entering: z.ZodOptional<z.ZodObject<{
100
+ preset: z.ZodEnum<{
101
+ FadeIn: "FadeIn";
102
+ FadeInUp: "FadeInUp";
103
+ FadeInDown: "FadeInDown";
104
+ FadeInLeft: "FadeInLeft";
105
+ FadeInRight: "FadeInRight";
106
+ SlideInUp: "SlideInUp";
107
+ SlideInDown: "SlideInDown";
108
+ SlideInLeft: "SlideInLeft";
109
+ SlideInRight: "SlideInRight";
110
+ ZoomIn: "ZoomIn";
111
+ ZoomInRotate: "ZoomInRotate";
112
+ ZoomInUp: "ZoomInUp";
113
+ ZoomInDown: "ZoomInDown";
114
+ ZoomInLeft: "ZoomInLeft";
115
+ ZoomInRight: "ZoomInRight";
116
+ ZoomInEasyUp: "ZoomInEasyUp";
117
+ ZoomInEasyDown: "ZoomInEasyDown";
118
+ BounceIn: "BounceIn";
119
+ BounceInUp: "BounceInUp";
120
+ BounceInDown: "BounceInDown";
121
+ BounceInLeft: "BounceInLeft";
122
+ BounceInRight: "BounceInRight";
123
+ FlipInXUp: "FlipInXUp";
124
+ FlipInYLeft: "FlipInYLeft";
125
+ FlipInXDown: "FlipInXDown";
126
+ FlipInYRight: "FlipInYRight";
127
+ FlipInEasyX: "FlipInEasyX";
128
+ FlipInEasyY: "FlipInEasyY";
129
+ StretchInX: "StretchInX";
130
+ StretchInY: "StretchInY";
131
+ RotateInDownLeft: "RotateInDownLeft";
132
+ RotateInDownRight: "RotateInDownRight";
133
+ RotateInUpLeft: "RotateInUpLeft";
134
+ RotateInUpRight: "RotateInUpRight";
135
+ RollInLeft: "RollInLeft";
136
+ RollInRight: "RollInRight";
137
+ PinwheelIn: "PinwheelIn";
138
+ LightSpeedInLeft: "LightSpeedInLeft";
139
+ LightSpeedInRight: "LightSpeedInRight";
140
+ }>;
141
+ duration: z.ZodOptional<z.ZodNumber>;
142
+ delay: z.ZodOptional<z.ZodNumber>;
143
+ easing: z.ZodOptional<z.ZodEnum<{
144
+ linear: "linear";
145
+ "ease-in": "ease-in";
146
+ "ease-out": "ease-out";
147
+ "ease-in-out": "ease-in-out";
148
+ }>>;
149
+ spring: z.ZodOptional<z.ZodObject<{
150
+ damping: z.ZodOptional<z.ZodNumber>;
151
+ stiffness: z.ZodOptional<z.ZodNumber>;
152
+ mass: z.ZodOptional<z.ZodNumber>;
153
+ }, z.core.$strip>>;
154
+ }, z.core.$strip>>;
155
+ exiting: z.ZodOptional<z.ZodObject<{
156
+ preset: z.ZodEnum<{
157
+ FadeOut: "FadeOut";
158
+ FadeOutUp: "FadeOutUp";
159
+ FadeOutDown: "FadeOutDown";
160
+ FadeOutLeft: "FadeOutLeft";
161
+ FadeOutRight: "FadeOutRight";
162
+ SlideOutUp: "SlideOutUp";
163
+ SlideOutDown: "SlideOutDown";
164
+ SlideOutLeft: "SlideOutLeft";
165
+ SlideOutRight: "SlideOutRight";
166
+ ZoomOut: "ZoomOut";
167
+ ZoomOutRotate: "ZoomOutRotate";
168
+ ZoomOutUp: "ZoomOutUp";
169
+ ZoomOutDown: "ZoomOutDown";
170
+ ZoomOutLeft: "ZoomOutLeft";
171
+ ZoomOutRight: "ZoomOutRight";
172
+ ZoomOutEasyUp: "ZoomOutEasyUp";
173
+ ZoomOutEasyDown: "ZoomOutEasyDown";
174
+ BounceOut: "BounceOut";
175
+ BounceOutUp: "BounceOutUp";
176
+ BounceOutDown: "BounceOutDown";
177
+ BounceOutLeft: "BounceOutLeft";
178
+ BounceOutRight: "BounceOutRight";
179
+ FlipOutXUp: "FlipOutXUp";
180
+ FlipOutYLeft: "FlipOutYLeft";
181
+ FlipOutXDown: "FlipOutXDown";
182
+ FlipOutYRight: "FlipOutYRight";
183
+ FlipOutEasyX: "FlipOutEasyX";
184
+ FlipOutEasyY: "FlipOutEasyY";
185
+ StretchOutX: "StretchOutX";
186
+ StretchOutY: "StretchOutY";
187
+ RotateOutDownLeft: "RotateOutDownLeft";
188
+ RotateOutDownRight: "RotateOutDownRight";
189
+ RotateOutUpLeft: "RotateOutUpLeft";
190
+ RotateOutUpRight: "RotateOutUpRight";
191
+ RollOutLeft: "RollOutLeft";
192
+ RollOutRight: "RollOutRight";
193
+ PinwheelOut: "PinwheelOut";
194
+ LightSpeedOutLeft: "LightSpeedOutLeft";
195
+ LightSpeedOutRight: "LightSpeedOutRight";
196
+ }>;
197
+ duration: z.ZodOptional<z.ZodNumber>;
198
+ delay: z.ZodOptional<z.ZodNumber>;
199
+ easing: z.ZodOptional<z.ZodEnum<{
200
+ linear: "linear";
201
+ "ease-in": "ease-in";
202
+ "ease-out": "ease-out";
203
+ "ease-in-out": "ease-in-out";
204
+ }>>;
205
+ spring: z.ZodOptional<z.ZodObject<{
206
+ damping: z.ZodOptional<z.ZodNumber>;
207
+ stiffness: z.ZodOptional<z.ZodNumber>;
208
+ mass: z.ZodOptional<z.ZodNumber>;
209
+ }, z.core.$strip>>;
210
+ }, z.core.$strip>>;
211
+ layout: z.ZodOptional<z.ZodObject<{
212
+ preset: z.ZodEnum<{
213
+ LinearTransition: "LinearTransition";
214
+ FadingTransition: "FadingTransition";
215
+ SequencedTransition: "SequencedTransition";
216
+ JumpingTransition: "JumpingTransition";
217
+ CurvedTransition: "CurvedTransition";
218
+ EntryExitTransition: "EntryExitTransition";
219
+ }>;
220
+ duration: z.ZodOptional<z.ZodNumber>;
221
+ spring: z.ZodOptional<z.ZodObject<{
222
+ damping: z.ZodOptional<z.ZodNumber>;
223
+ stiffness: z.ZodOptional<z.ZodNumber>;
224
+ mass: z.ZodOptional<z.ZodNumber>;
225
+ }, z.core.$strip>>;
226
+ }, z.core.$strip>>;
227
+ effect: z.ZodOptional<z.ZodObject<{
228
+ preset: z.ZodEnum<{
229
+ rotate: "rotate";
230
+ pulse: "pulse";
231
+ fade: "fade";
232
+ shimmer: "shimmer";
233
+ bounce: "bounce";
234
+ }>;
235
+ duration: z.ZodOptional<z.ZodNumber>;
236
+ delay: z.ZodOptional<z.ZodNumber>;
237
+ easing: z.ZodOptional<z.ZodEnum<{
238
+ linear: "linear";
239
+ "ease-in": "ease-in";
240
+ "ease-out": "ease-out";
241
+ "ease-in-out": "ease-in-out";
242
+ }>>;
243
+ loop: z.ZodOptional<z.ZodBoolean>;
244
+ minScale: z.ZodOptional<z.ZodNumber>;
245
+ maxScale: z.ZodOptional<z.ZodNumber>;
246
+ minOpacity: z.ZodOptional<z.ZodNumber>;
247
+ degrees: z.ZodOptional<z.ZodNumber>;
248
+ }, z.core.$strip>>;
249
+ }, z.core.$strip>>;
250
+ gap: z.ZodOptional<z.ZodNumber>;
251
+ alignItems: z.ZodOptional<z.ZodEnum<{
252
+ center: "center";
253
+ "flex-start": "flex-start";
254
+ "flex-end": "flex-end";
255
+ stretch: "stretch";
256
+ baseline: "baseline";
257
+ }>>;
258
+ justifyContent: z.ZodOptional<z.ZodEnum<{
259
+ center: "center";
260
+ "flex-start": "flex-start";
261
+ "flex-end": "flex-end";
262
+ "space-between": "space-between";
263
+ "space-around": "space-around";
264
+ }>>;
265
+ flexWrap: z.ZodOptional<z.ZodEnum<{
266
+ wrap: "wrap";
267
+ nowrap: "nowrap";
268
+ }>>;
269
+ fontSize: z.ZodOptional<z.ZodNumber>;
270
+ fontWeight: z.ZodOptional<z.ZodString>;
271
+ fontFamily: z.ZodOptional<z.ZodString>;
272
+ fontStyle: z.ZodOptional<z.ZodEnum<{
273
+ normal: "normal";
274
+ italic: "italic";
275
+ }>>;
276
+ color: z.ZodOptional<z.ZodString>;
277
+ textAlign: z.ZodOptional<z.ZodEnum<{
278
+ left: "left";
279
+ right: "right";
280
+ center: "center";
281
+ }>>;
282
+ letterSpacing: z.ZodOptional<z.ZodNumber>;
283
+ lineHeight: z.ZodOptional<z.ZodNumber>;
284
+ }, z.core.$strip>;
285
+ type RichTextUIElement = Extract<UIElement, {
286
+ type: "RichText";
287
+ }>;
288
+ type Props = {
289
+ element: RichTextUIElement;
290
+ ctx: RenderContext;
291
+ parentType?: "XStack" | "YStack" | "ZStack" | "RichText" | "XScroll";
292
+ };
293
+ /**
294
+ * Wrapping flex row of child `Text` elements. Plain-text children are split into
295
+ * per-word flex items so text wraps word-by-word (like a paragraph); box-styled
296
+ * children render as atomic "chips" (padded/rounded/rotated pills) that honor
297
+ * their own box props, `renderWhen`, `expression`, and motion. The result is a
298
+ * title where chips sit inline with naturally-wrapping words.
299
+ *
300
+ * The container's text-style props are published via `RichTextStyleContext` so
301
+ * every child `Text` inherits them as defaults (child overrides win).
302
+ */
303
+ export declare const RichTextElementComponent: ({ element, ctx, parentType }: Props) => React.ReactElement;
304
+ export {};
305
+ //# sourceMappingURL=RichTextElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RichTextElement.d.ts","sourceRoot":"","sources":["../../../../../src/UI/Pages/ComposableScreen/elements/RichTextElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAsB,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,aAAa,EAA8D,MAAM,UAAU,CAAC;AAMrG,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG;IAChD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,YAAY,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3E,cAAc,CAAC,EAAE,YAAY,GAAG,QAAQ,GAAG,UAAU,GAAG,eAAe,GAAG,cAAc,CAAC;IACzF,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,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,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAarC,CAAC;AAEH,KAAK,iBAAiB,GAAG,OAAO,CAAC,SAAS,EAAE;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC,CAAC;AAGlE,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,iBAAiB,CAAC;IAC3B,GAAG,EAAE,aAAa,CAAC;IACnB,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;CACtE,CAAC;AA4CF;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB,GAAI,8BAA8B,KAAK,KAAG,KAAK,CAAC,YAqFpF,CAAC"}
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RichTextElementComponent = exports.RichTextElementPropsSchema = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const zod_1 = require("zod");
6
+ const react_native_onboarding_1 = require("@rocapine/react-native-onboarding");
7
+ const BaseBoxProps_1 = require("./BaseBoxProps");
8
+ const shared_1 = require("./shared");
9
+ const GradientBox_1 = require("./GradientBox");
10
+ exports.RichTextElementPropsSchema = BaseBoxProps_1.BaseBoxPropsSchema.extend({
11
+ gap: zod_1.z.number().optional(),
12
+ alignItems: zod_1.z.enum(["flex-start", "center", "flex-end", "baseline", "stretch"]).optional(),
13
+ justifyContent: zod_1.z.enum(["flex-start", "center", "flex-end", "space-between", "space-around"]).optional(),
14
+ flexWrap: zod_1.z.enum(["wrap", "nowrap"]).optional(),
15
+ fontSize: zod_1.z.number().optional(),
16
+ fontWeight: zod_1.z.string().optional(),
17
+ fontFamily: zod_1.z.string().optional(),
18
+ fontStyle: zod_1.z.enum(["normal", "italic"]).optional(),
19
+ color: zod_1.z.string().optional(),
20
+ textAlign: zod_1.z.enum(["left", "center", "right"]).optional(),
21
+ letterSpacing: zod_1.z.number().optional(),
22
+ lineHeight: zod_1.z.number().optional(),
23
+ });
24
+ // `textAlign` aligns text *inside* a Text box, but RichText splits each word into
25
+ // its own shrink-wrapped flex item, so textAlign is a no-op on the row. The row's
26
+ // horizontal distribution is governed by `justifyContent` — map textAlign onto it
27
+ // (explicit `justifyContent` still wins) so authors get the alignment they expect.
28
+ const ALIGN_TO_JUSTIFY = {
29
+ left: "flex-start",
30
+ center: "center",
31
+ right: "flex-end",
32
+ };
33
+ // A plain-text child (no box styling, no motion) is split into one flex item per
34
+ // word so the row wraps word-by-word like real text — the chip pattern from
35
+ // host apps (parseTitleWithChips). A child carrying box styling (backgroundColor
36
+ // / borderRadius / border / padding) or motion is a "chip" and stays atomic so
37
+ // its box renders as a single rounded unit.
38
+ const isFlowingText = (child) => {
39
+ const p = child.props;
40
+ return (typeof p.content === "string" &&
41
+ p.backgroundColor == null &&
42
+ p.backgroundGradient == null &&
43
+ p.borderRadius == null &&
44
+ p.borderWidth == null &&
45
+ p.padding == null &&
46
+ p.paddingHorizontal == null &&
47
+ p.paddingVertical == null &&
48
+ // margin / explicit size would be applied to *every* word if split, so a
49
+ // child carrying any of them is treated as an atomic chip too.
50
+ p.margin == null &&
51
+ p.marginHorizontal == null &&
52
+ p.marginVertical == null &&
53
+ p.width == null &&
54
+ p.height == null &&
55
+ p.minWidth == null &&
56
+ p.maxWidth == null &&
57
+ p.minHeight == null &&
58
+ p.maxHeight == null &&
59
+ p.animation == null &&
60
+ p.transform == null);
61
+ };
62
+ /**
63
+ * Wrapping flex row of child `Text` elements. Plain-text children are split into
64
+ * per-word flex items so text wraps word-by-word (like a paragraph); box-styled
65
+ * children render as atomic "chips" (padded/rounded/rotated pills) that honor
66
+ * their own box props, `renderWhen`, `expression`, and motion. The result is a
67
+ * title where chips sit inline with naturally-wrapping words.
68
+ *
69
+ * The container's text-style props are published via `RichTextStyleContext` so
70
+ * every child `Text` inherits them as defaults (child overrides win).
71
+ */
72
+ const RichTextElementComponent = ({ element, ctx, parentType }) => {
73
+ var _a, _b, _c, _d;
74
+ const p = element.props;
75
+ const inheritedTextStyle = {
76
+ fontSize: p.fontSize,
77
+ fontWeight: p.fontWeight,
78
+ fontFamily: p.fontFamily,
79
+ fontStyle: p.fontStyle,
80
+ color: p.color,
81
+ textAlign: p.textAlign,
82
+ letterSpacing: p.letterSpacing,
83
+ lineHeight: p.lineHeight,
84
+ };
85
+ // Expand children into the actual flex items to render: split flowing text into
86
+ // words, keep chips whole. renderWhen is evaluated once per source child here
87
+ // (flowing-text words then render unconditionally); chips keep their renderWhen
88
+ // and are gated by renderElement.
89
+ const flatVars = Object.fromEntries(Object.entries(ctx.variables).map(([k, v]) => [k, v === null || v === void 0 ? void 0 : v.value]));
90
+ const expanded = [];
91
+ for (const child of element.children) {
92
+ if (child.renderWhen && !(0, react_native_onboarding_1.evaluateCondition)(child.renderWhen, flatVars))
93
+ continue;
94
+ if (isFlowingText(child)) {
95
+ const raw = child.props.content;
96
+ const text = child.props.mode === "expression" ? (0, shared_1.interpolate)(raw, ctx.variables) : raw;
97
+ const tokens = text.split(/(\s+)/).filter((t) => t.length > 0);
98
+ tokens.forEach((tok, i) => {
99
+ expanded.push(Object.assign(Object.assign({}, child), { id: `${child.id}-w${i}`, renderWhen: undefined,
100
+ // mode dropped (undefined): content is already interpolated above, and
101
+ // undefined is truer to the schema than the non-enum "plain".
102
+ props: Object.assign(Object.assign({}, child.props), { content: tok, mode: undefined }) }));
103
+ });
104
+ }
105
+ else {
106
+ // Chip: renderWhen already passed above; null it so renderElement doesn't
107
+ // re-evaluate the same condition (symmetry with the word path).
108
+ expanded.push(Object.assign(Object.assign({}, child), { renderWhen: undefined }));
109
+ }
110
+ }
111
+ return ((0, jsx_runtime_1.jsx)(GradientBox_1.GradientBox, { gradient: p.backgroundGradient, style: {
112
+ flexDirection: "row",
113
+ flexWrap: (_a = p.flexWrap) !== null && _a !== void 0 ? _a : "wrap",
114
+ gap: p.gap,
115
+ alignItems: (_b = p.alignItems) !== null && _b !== void 0 ? _b : "center",
116
+ justifyContent: (_c = p.justifyContent) !== null && _c !== void 0 ? _c : (p.textAlign ? ALIGN_TO_JUSTIFY[p.textAlign] : "center"),
117
+ flex: p.flex,
118
+ flexShrink: (_d = p.flexShrink) !== null && _d !== void 0 ? _d : (parentType === "XStack" ? 1 : undefined),
119
+ flexGrow: p.flexGrow,
120
+ alignSelf: p.alignSelf,
121
+ width: (0, shared_1.dim)(p.width),
122
+ height: (0, shared_1.dim)(p.height),
123
+ minWidth: p.minWidth,
124
+ maxWidth: p.maxWidth,
125
+ minHeight: p.minHeight,
126
+ maxHeight: p.maxHeight,
127
+ padding: p.padding,
128
+ paddingHorizontal: p.paddingHorizontal,
129
+ paddingVertical: p.paddingVertical,
130
+ margin: p.margin,
131
+ marginHorizontal: p.marginHorizontal,
132
+ marginVertical: p.marginVertical,
133
+ backgroundColor: p.backgroundGradient ? undefined : p.backgroundColor,
134
+ borderWidth: p.borderWidth,
135
+ borderRadius: p.borderRadius,
136
+ borderColor: p.borderColor,
137
+ overflow: p.overflow,
138
+ opacity: p.opacity,
139
+ }, children: (0, jsx_runtime_1.jsx)(shared_1.RichTextStyleContext.Provider, { value: inheritedTextStyle, children: ctx.renderChildren(expanded, "RichText") }) }));
140
+ };
141
+ exports.RichTextElementComponent = RichTextElementComponent;
142
+ //# sourceMappingURL=RichTextElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RichTextElement.js","sourceRoot":"","sources":["../../../../../src/UI/Pages/ComposableScreen/elements/RichTextElement.tsx"],"names":[],"mappings":"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"}