@multiplatform.one/markdown 6.6.0 → 7.0.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.
@@ -32,6 +32,7 @@ var import_theme = require("@multiplatform.one/theme");
32
32
  var import_react = require("react");
33
33
  var import_tamagui = require("tamagui");
34
34
  var import_cutoffGradient = require("../shared/cutoffGradient.cjs");
35
+ var import_textRidesText = require("../shared/textRidesText.cjs");
35
36
  var import_jsx_runtime = require("react/jsx-runtime");
36
37
  const zIndex = {
37
38
  localTop: 100
@@ -45,7 +46,8 @@ function MDXAside({
45
46
  knobProps
46
47
  } = (0, import_theme.useResolvedKnobs)();
47
48
  const gradientColors = (0, import_cutoffGradient.useCutoffGradientColors)();
48
- const areChildrenString = typeof children === "string";
49
+ const flattened = Array.isArray(children) ? import_react.Children.toArray(children) : null;
50
+ const areChildrenString = (0, import_textRidesText.isBareTextChild)(children) || Boolean(flattened && flattened.length > 0 && flattened.every(import_textRidesText.isBareTextChild));
49
51
  const [expanded, setExpanded] = (0, import_react.useState)(false);
50
52
  const [contentHeight, setContentHeight] = (0, import_react.useState)();
51
53
  const shouldCutoff = !areChildrenString && (contentHeight === void 0 || contentHeight > cutoffMaxHeight);
@@ -72,10 +74,13 @@ function MDXAside({
72
74
  children: [areChildrenString ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Paragraph, {
73
75
  color: "$color10",
74
76
  marginVertical: "$-5",
75
- children
77
+ children: flattened ? flattened.join("") : children
76
78
  }) : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.YStack, {
77
79
  onLayout: event => setContentHeight(event.nativeEvent.layout.height),
78
- children
80
+ children: (0, import_textRidesText.wrapBareTextChildren)(children, (label, key) => /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Paragraph, {
81
+ color: "$color10",
82
+ children: label
83
+ }, key))
79
84
  }), cutoff && /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
80
85
  children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_linear_gradient.LinearGradient, {
81
86
  position: "absolute",
@@ -35,6 +35,7 @@ var import_theme = require("@multiplatform.one/theme");
35
35
  var import_react = require("react");
36
36
  var import_tamagui = require("tamagui");
37
37
  var import_cutoffGradient = require("../shared/cutoffGradient.native.js");
38
+ var import_textRidesText = require("../shared/textRidesText.native.js");
38
39
  var zIndex = {
39
40
  localTop: 100
40
41
  };
@@ -48,7 +49,8 @@ function MDXAside(param) {
48
49
  knobProps
49
50
  } = (0, import_theme.useResolvedKnobs)();
50
51
  var gradientColors = (0, import_cutoffGradient.useCutoffGradientColors)();
51
- var areChildrenString = typeof children === "string";
52
+ var flattened = Array.isArray(children) ? import_react.Children.toArray(children) : null;
53
+ var areChildrenString = (0, import_textRidesText.isBareTextChild)(children) || Boolean(flattened && flattened.length > 0 && flattened.every(import_textRidesText.isBareTextChild));
52
54
  var [expanded, setExpanded] = (0, import_react.useState)(false);
53
55
  var [contentHeight, setContentHeight] = (0, import_react.useState)();
54
56
  var shouldCutoff = !areChildrenString && (contentHeight === void 0 || contentHeight > cutoffMaxHeight);
@@ -75,12 +77,20 @@ function MDXAside(param) {
75
77
  children: [areChildrenString ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Paragraph, {
76
78
  color: "$color10",
77
79
  marginVertical: "$-5",
78
- children
80
+ children: flattened ? flattened.join("") : children
79
81
  }) : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.YStack, {
80
82
  onLayout: function onLayout(event) {
81
83
  return setContentHeight(event.nativeEvent.layout.height);
82
84
  },
83
- children
85
+ children: (
86
+ /* LC-82: mixed element+string children — string runs still ride a
87
+ Text component instead of crashing native. */
88
+ (0, import_textRidesText.wrapBareTextChildren)(children, function (label, key) {
89
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Paragraph, {
90
+ color: "$color10",
91
+ children: label
92
+ }, key);
93
+ }))
84
94
  }), cutoff && /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
85
95
  children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_linear_gradient.LinearGradient, {
86
96
  position: "absolute",
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","Aside_exports","__export","MDXAside","MDXNote","module","exports","import_jsx_runtime","require","import_components","import_linear_gradient","import_theme","import_react","import_tamagui","import_cutoffGradient","zIndex","localTop","cutoffMaxHeight","param","children","props","knobProps","useResolvedKnobs","gradientColors","useCutoffGradientColors","areChildrenString","expanded","setExpanded","useState","contentHeight","setContentHeight","shouldCutoff","cutoff","jsxs","YStack","render","gap","borderRadius","panelPadding","marginHorizontal","marginTop","position","marginVertical","paddingHorizontal","padding","borderWidth","paddingBottom","backgroundColor","borderColor","maxHeight","overflow","jsx","Paragraph","color","onLayout","event","nativeEvent","layout","height","Fragment","LinearGradient","bottom","left","right","colors","pointerEvents","XStack","justifyContent","Button","onPress"],"sources":["../../../src/Aside/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","Aside_exports","__export","MDXAside","MDXNote","module","exports","import_jsx_runtime","require","import_components","import_linear_gradient","import_theme","import_react","import_tamagui","import_cutoffGradient","import_textRidesText","zIndex","localTop","cutoffMaxHeight","param","children","props","knobProps","useResolvedKnobs","gradientColors","useCutoffGradientColors","flattened","Array","isArray","Children","toArray","areChildrenString","isBareTextChild","Boolean","length","every","expanded","setExpanded","useState","contentHeight","setContentHeight","shouldCutoff","cutoff","jsxs","YStack","render","gap","borderRadius","panelPadding","marginHorizontal","marginTop","position","marginVertical","paddingHorizontal","padding","borderWidth","paddingBottom","backgroundColor","borderColor","maxHeight","overflow","jsx","Paragraph","color","join","onLayout","event","nativeEvent","layout","height","wrapBareTextChildren","label","key","Fragment","LinearGradient","bottom","left","right","colors","pointerEvents","XStack"],"sources":["../../../src/Aside/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,57 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var textRidesText_exports = {};
24
+ __export(textRidesText_exports, {
25
+ isBareTextChild: () => isBareTextChild,
26
+ wrapBareTextChildren: () => wrapBareTextChildren
27
+ });
28
+ module.exports = __toCommonJS(textRidesText_exports);
29
+ var import_react = require("react");
30
+ const isBareTextChild = child => typeof child === "string" || typeof child === "number";
31
+ function coalesceBareTextRuns(children, renderLabel) {
32
+ const out = [];
33
+ let run;
34
+ let runIndex = 0;
35
+ const flushRun = () => {
36
+ if (run !== void 0 && run !== "") out.push(renderLabel(run, `lc50-run-${runIndex++}`));
37
+ run = void 0;
38
+ };
39
+ for (const child of children) {
40
+ if (isBareTextChild(child)) {
41
+ run = (run ?? "") + String(child);
42
+ } else {
43
+ flushRun();
44
+ out.push(child);
45
+ }
46
+ }
47
+ flushRun();
48
+ return out;
49
+ }
50
+ function wrapBareTextChildren(children, renderLabel) {
51
+ if (isBareTextChild(children)) return renderLabel(String(children));
52
+ if (Array.isArray(children)) {
53
+ const flattened = import_react.Children.toArray(children);
54
+ if (flattened.some(isBareTextChild)) return coalesceBareTextRuns(flattened, renderLabel);
55
+ }
56
+ return children;
57
+ }
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var textRidesText_exports = {};
26
+ __export(textRidesText_exports, {
27
+ isBareTextChild: () => isBareTextChild,
28
+ wrapBareTextChildren: () => wrapBareTextChildren
29
+ });
30
+ module.exports = __toCommonJS(textRidesText_exports);
31
+ var import_react = require("react");
32
+ var isBareTextChild = function isBareTextChild2(child) {
33
+ return typeof child === "string" || typeof child === "number";
34
+ };
35
+ function coalesceBareTextRuns(children, renderLabel) {
36
+ var out = [];
37
+ var run;
38
+ var runIndex = 0;
39
+ var flushRun = function flushRun2() {
40
+ if (run !== void 0 && run !== "") out.push(renderLabel(run, `lc50-run-${runIndex++}`));
41
+ run = void 0;
42
+ };
43
+ var _iteratorNormalCompletion = true,
44
+ _didIteratorError = false,
45
+ _iteratorError = void 0;
46
+ try {
47
+ for (var _iterator = children[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
48
+ var child = _step.value;
49
+ if (isBareTextChild(child)) {
50
+ run = (run !== null && run !== void 0 ? run : "") + String(child);
51
+ } else {
52
+ flushRun();
53
+ out.push(child);
54
+ }
55
+ }
56
+ } catch (err) {
57
+ _didIteratorError = true;
58
+ _iteratorError = err;
59
+ } finally {
60
+ try {
61
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
62
+ _iterator.return();
63
+ }
64
+ } finally {
65
+ if (_didIteratorError) {
66
+ throw _iteratorError;
67
+ }
68
+ }
69
+ }
70
+ flushRun();
71
+ return out;
72
+ }
73
+ function wrapBareTextChildren(children, renderLabel) {
74
+ if (isBareTextChild(children)) return renderLabel(String(children));
75
+ if (Array.isArray(children)) {
76
+ var flattened = import_react.Children.toArray(children);
77
+ if (flattened.some(isBareTextChild)) return coalesceBareTextRuns(flattened, renderLabel);
78
+ }
79
+ return children;
80
+ }
81
+ //# sourceMappingURL=textRidesText.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","textRidesText_exports","__export","isBareTextChild","wrapBareTextChildren","module","exports","import_react","require","isBareTextChild2","child","coalesceBareTextRuns","children","renderLabel","out","run","runIndex","flushRun","flushRun2","push","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","String","err"],"sources":["../../../src/shared/textRidesText.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,qBAAA;AAAAC,QAAA,CAAAD,qBAAA;EAAAE,eAAA,EAAAA,CAAA,KAAAA,eAAA;EAAAC,oBAAA,EAAAA,CAAA,KAAAA;AAAA;AAYAC,MAAA,CAAAC,OAAA,GAAAV,YAAyB,CAAAK,qBAAA;AAGlB,IAAAM,YAAM,GAAAC,OAAmB,SAC9B;AAEF,IAAAL,eAAS,YACPM,gBACAA,CAAAC,KACa;EACb,OAAM,OAAoBA,KAAA,wBAAAA,KAAA;AAC1B;AACA,SAAIC,oBAAWA,CAAAC,QAAA,EAAAC,WAAA;EACf,IAAAC,GAAM;EACJ,IAAAC,GAAI;EACJ,IAAAC,QAAM;EACR,IAAAC,QAAA,YAAAC,UAAA;IACA,IAAAH,GAAA,KAAW,MAAS,IAAAA,GAAA,KAAU,IAAAD,GAAA,CAAAK,IAAA,CAAAN,WAAA,CAAAE,GAAA,cAAAC,QAAA;IAC5BD,GAAA,GAAI;EACF;EAAgC,IAClCK,yBAAO;IAAAC,iBAAA;IAAAC,cAAA;EACL;IACA,SAAIC,SAAU,GAAAX,QAAA,CAAAY,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAN,yBAAA,IAAAM,KAAA,GAAAH,SAAA,CAAAI,IAAA,IAAAC,IAAA,GAAAR,yBAAA;MAChB,IAAAV,KAAA,GAAAgB,KAAA,CAAA1B,KAAA;MACF,IAAAG,eAAA,CAAAO,KAAA;QACAK,GAAS,IAAAA,GAAA,aAAAA,GAAA,cAAAA,GAAA,SAAAc,MAAA,CAAAnB,KAAA;MACT,OAAO;QACTO,QAAA;QAOOH,GAAS,CAAAK,IAAA,CAAAT,KAAA;MAIV;IACJ;EACE,SAAMoB,GAAA;IACNT,iBAAc,GAAK;IACrBC,cAAA,GAAAQ,GAAA;EACA,UAAO;IACT","ignoreList":[]}
@@ -1,9 +1,10 @@
1
1
  import { Alert } from "@multiplatform.one/components";
2
2
  import { LinearGradient } from "@tamagui/linear-gradient";
3
3
  import { useResolvedKnobs } from "@multiplatform.one/theme";
4
- import { useState } from "react";
4
+ import { Children, useState } from "react";
5
5
  import { Button, Paragraph, XStack, YStack } from "tamagui";
6
6
  import { useCutoffGradientColors } from "../shared/cutoffGradient.mjs";
7
+ import { isBareTextChild, wrapBareTextChildren } from "../shared/textRidesText.mjs";
7
8
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
8
9
  const zIndex = {
9
10
  localTop: 100
@@ -17,7 +18,8 @@ function MDXAside({
17
18
  knobProps
18
19
  } = useResolvedKnobs();
19
20
  const gradientColors = useCutoffGradientColors();
20
- const areChildrenString = typeof children === "string";
21
+ const flattened = Array.isArray(children) ? Children.toArray(children) : null;
22
+ const areChildrenString = isBareTextChild(children) || Boolean(flattened && flattened.length > 0 && flattened.every(isBareTextChild));
21
23
  const [expanded, setExpanded] = useState(false);
22
24
  const [contentHeight, setContentHeight] = useState();
23
25
  const shouldCutoff = !areChildrenString && (contentHeight === void 0 || contentHeight > cutoffMaxHeight);
@@ -44,10 +46,13 @@ function MDXAside({
44
46
  children: [areChildrenString ? /* @__PURE__ */jsx(Paragraph, {
45
47
  color: "$color10",
46
48
  marginVertical: "$-5",
47
- children
49
+ children: flattened ? flattened.join("") : children
48
50
  }) : /* @__PURE__ */jsx(YStack, {
49
51
  onLayout: event => setContentHeight(event.nativeEvent.layout.height),
50
- children
52
+ children: wrapBareTextChildren(children, (label, key) => /* @__PURE__ */jsx(Paragraph, {
53
+ color: "$color10",
54
+ children: label
55
+ }, key))
51
56
  }), cutoff && /* @__PURE__ */jsxs(Fragment, {
52
57
  children: [/* @__PURE__ */jsx(LinearGradient, {
53
58
  position: "absolute",
@@ -1 +1 @@
1
- {"version":3,"names":["Alert","LinearGradient","useResolvedKnobs","useState","Button","Paragraph","XStack","YStack","useCutoffGradientColors","Fragment","jsx","jsxs","zIndex","localTop","cutoffMaxHeight","MDXAside","children","props","knobProps","gradientColors","areChildrenString","expanded","setExpanded","contentHeight","setContentHeight","shouldCutoff","cutoff","render","gap","borderRadius","panelPadding","marginHorizontal","marginTop","position","marginVertical","paddingHorizontal","padding","borderWidth","paddingBottom","backgroundColor","borderColor","maxHeight","overflow","color","onLayout","event","nativeEvent","layout","height","bottom","left","right","colors","pointerEvents","justifyContent","onPress","MDXNote","intent","icon","marginBottom"],"sources":["../../../src/Aside/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Alert","LinearGradient","useResolvedKnobs","Children","useState","Button","Paragraph","XStack","YStack","useCutoffGradientColors","isBareTextChild","wrapBareTextChildren","Fragment","jsx","jsxs","zIndex","localTop","cutoffMaxHeight","MDXAside","children","props","knobProps","gradientColors","flattened","Array","isArray","toArray","areChildrenString","Boolean","length","every","expanded","setExpanded","contentHeight","setContentHeight","shouldCutoff","cutoff","render","gap","borderRadius","panelPadding","marginHorizontal","marginTop","position","marginVertical","paddingHorizontal","padding","borderWidth","paddingBottom","backgroundColor","borderColor","maxHeight","overflow","color","join","onLayout","event","nativeEvent","layout","height","label","key","bottom","left","right","colors","pointerEvents","justifyContent","onPress","MDXNote","intent","icon","marginBottom"],"sources":["../../../src/Aside/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -2,9 +2,10 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
2
2
  import { Alert } from "@multiplatform.one/components";
3
3
  import { LinearGradient } from "@tamagui/linear-gradient";
4
4
  import { useResolvedKnobs } from "@multiplatform.one/theme";
5
- import { useState } from "react";
5
+ import { Children, useState } from "react";
6
6
  import { Button, Paragraph, XStack, YStack } from "tamagui";
7
7
  import { useCutoffGradientColors } from "../shared/cutoffGradient.native.js";
8
+ import { isBareTextChild, wrapBareTextChildren } from "../shared/textRidesText.native.js";
8
9
  var zIndex = {
9
10
  localTop: 100
10
11
  };
@@ -18,7 +19,8 @@ function MDXAside(param) {
18
19
  knobProps
19
20
  } = useResolvedKnobs();
20
21
  var gradientColors = useCutoffGradientColors();
21
- var areChildrenString = typeof children === "string";
22
+ var flattened = Array.isArray(children) ? Children.toArray(children) : null;
23
+ var areChildrenString = isBareTextChild(children) || Boolean(flattened && flattened.length > 0 && flattened.every(isBareTextChild));
22
24
  var [expanded, setExpanded] = useState(false);
23
25
  var [contentHeight, setContentHeight] = useState();
24
26
  var shouldCutoff = !areChildrenString && (contentHeight === void 0 || contentHeight > cutoffMaxHeight);
@@ -45,12 +47,20 @@ function MDXAside(param) {
45
47
  children: [areChildrenString ? /* @__PURE__ */_jsx(Paragraph, {
46
48
  color: "$color10",
47
49
  marginVertical: "$-5",
48
- children
50
+ children: flattened ? flattened.join("") : children
49
51
  }) : /* @__PURE__ */_jsx(YStack, {
50
52
  onLayout: function onLayout(event) {
51
53
  return setContentHeight(event.nativeEvent.layout.height);
52
54
  },
53
- children
55
+ children: (
56
+ /* LC-82: mixed element+string children — string runs still ride a
57
+ Text component instead of crashing native. */
58
+ wrapBareTextChildren(children, function (label, key) {
59
+ return /* @__PURE__ */_jsx(Paragraph, {
60
+ color: "$color10",
61
+ children: label
62
+ }, key);
63
+ }))
54
64
  }), cutoff && /* @__PURE__ */_jsxs(_Fragment, {
55
65
  children: [/* @__PURE__ */_jsx(LinearGradient, {
56
66
  position: "absolute",
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Alert","LinearGradient","useResolvedKnobs","useState","Button","Paragraph","XStack","YStack","useCutoffGradientColors","zIndex","localTop","cutoffMaxHeight","MDXAside","param","children","props","knobProps","gradientColors","areChildrenString","expanded","setExpanded","contentHeight","setContentHeight","shouldCutoff","cutoff","render","gap","borderRadius","panelPadding","marginHorizontal","marginTop","position","marginVertical","paddingHorizontal","padding","borderWidth","paddingBottom","backgroundColor","borderColor","maxHeight","overflow","color","onLayout","event","nativeEvent","layout","height","bottom","left","right","colors","pointerEvents","justifyContent","onPress"],"sources":["../../../src/Aside/index.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAA,IAAAC,IAAA,EAAaC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AACtB,SAASC,KAAA,uCAAsB;AAC/B,SAASC,cAAA,kCAAwB;AACjC,SAASC,gBAAgC;AACzC,SAASC,QAAQ,eAAW;AAC5B,SAASC,MAAA,EAAAC,SAAA,EAAAC,MAAA,EAAAC,MAA+B;AA0ChC,SAUAC,uBAAA,QAVA;AAxCR,IAAAC,MAAM;EACNC,QAAM;AAMC;AACL,IAAAC,eAAQ,GAAU,GAAI;AACtB,SAAMC,SAAAC,KAAA,EAAiB;EACvB;IAAMC,QAAA;IAAA,GAAAC;EAAA,CAAoB,GAAAF,KAAO;EACjC;IAAMG;EAAC,CAAU,GAAAd,gBAAe;EAChC,IAAAe,cAAO,GAAAT,uBAAmC;EAE1C,IAAAU,iBACE,GAAC,OAAAJ,QAAA,KAAsB;EACzB,KAAAK,QAAM,EAASC,WAAA,IAAAjB,QAAiB;EAEhC,KAAAkB,aACE,EAAAC,gBAAA,IAAAnB,QAAA;EAAA,IAACoB,YAAA,IAAAL,iBAAA,KAAAG,aAAA,eAAAA,aAAA,GAAAV,eAAA;EAAA,IAAAa,MAAA,GAAAD,YAAA,KAAAJ,QAAA;EAAA,OACC,eAAOtB,KAAA,CAAAU,MAAA;IAAAkB,MACH,SAAU;IAAA,GACdT,SAAA,CAAAU,GAAc;IAAuBC,YACjC,EAAAX,SAAU,CAAAW,YAAA,CAAAA,YAAA;IAAA,GACdX,SAAA,CAAAY,YAAiB;IAAAC,gBACP;IAAAC,SACV,MAAS;IAAAC,QACJ,YAAU;IAAA,IAAAP,MACb;MAAgBQ,cAChB;MAA0CC,iBAC7B,EAAAjB,SAAA,CAAAY,YAAA,CAAAM,OAAA;MAAAC,WACb;MAAeC,aACf,OAAiB;MAAAC,eACJ;MAAAC,WACb,EAAW;MAAAC,SACX,EAAA5B,eAAU;MACZ6B,QAAA;IAAA;IACI,GAEHzB,KAAA;IAAAD,QAAA,GAOCI,iBAIA,kBAAAvB,IAAA,CAAAU,SACE;MAAAoC,KAAA;MAAAT,cAAC;MAAAlB;IAAA,oBACUnB,IAAA,CAAAY,MAAA;MAAAmC,QACT,WAAQA,SAAAC,KAAA;QAAA,OACRrB,gBAAM,CAAAqB,KAAA,CAAAC,WAAA,CAAAC,MAAA,CAAAC,MAAA;MAAA;MACChC;IACC,IACAU,MAAA,IACR,eAAc3B,KAAA,CAAAE,SAAA;MAAAe,QACd,GAAe,eAAAnB,IAAA,CAAAM,cAAA;QACjB8B,QAAA;QACAgB,MAAA;QAACC,IAAA;QAAAC,KAAA;QAAAH,MACC;QAASI,MACT,EAAAjC,cAAO;QAAAkC,aACD;QAAA1C,MACN,EAAAA,MAAO,CAAAC;MAAA,IACQ,eACPf,IAAO,CAAAW,MAAA;QAAWyB,QAE1B;QAAmDgB,MAAA;QACrDC,IAAA;QACFC,KAAA;QAAAG,cAAA;QAAA3C,MAAA,EAAAA,MAAA,CAAAC,QAAA;QAEJI,QAAA,iBAAAnB,IAAA,CAAAS,MAAA;UAEJiD,OAAA,WAAAA,QAAA;YAOgB,OAAUjC,WAAa,KAAM;UAEzC;UAIJN,QAAA","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Alert","LinearGradient","useResolvedKnobs","Children","useState","Button","Paragraph","XStack","YStack","useCutoffGradientColors","isBareTextChild","wrapBareTextChildren","zIndex","localTop","cutoffMaxHeight","MDXAside","param","children","props","knobProps","gradientColors","flattened","Array","isArray","toArray","areChildrenString","Boolean","length","every","expanded","setExpanded","contentHeight","setContentHeight","shouldCutoff","cutoff","render","gap","borderRadius","panelPadding","marginHorizontal","marginTop","position","marginVertical","paddingHorizontal","padding","borderWidth","paddingBottom","backgroundColor","borderColor","maxHeight","overflow","color","join","onLayout","event","nativeEvent","layout","height","label","key","bottom","left","right","colors","pointerEvents"],"sources":["../../../src/Aside/index.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAA,IAAAC,IAAA,EAAaC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AACtB,SAASC,KAAA,uCAAsB;AAC/B,SAASC,cAAA,kCAAwB;AACjC,SAASC,gBAAU,kCAAgC;AACnD,SAASC,QAAQ,EAAAC,QAAA,QAAW,OAAQ;AACpC,SAASC,MAAA,EAAAC,SAAA,EAAAC,MAAA,EAAAC,MAA+B;AACxC,SAASC,uBAAiB,4CAA4B;AA+C9C,SAgBAC,eAAA,EAAAC,oBAhBA;AA7CR,IAAAC,MAAM;EACNC,QAAM;AAMC;AACL,IAAAC,eAAQ,GAAU,GAAI;AACtB,SAAMC,SAAAC,KAAA,EAAiB;EAGvB;IAAMC,QAAA;IAAA,GAAYC;EAAM,IAAAF,KAAQ;EAChC;IAAMG;EAAA,IAAAjB,gBACJ;EAEF,IAAAkB,cAAiB,GAAAX,uBAAwB,EAAK;EAC9C,IAAAY,SAAO,GAAAC,KAAA,CAAeC,OAAA,CAAAN,QAAgB,IAAId,QAAA,CAA6BqB,OAAA,CAAAP,QAAA;EAEvE,IAAAQ,iBACE,GAACf,eAAA,CAAAO,QAAsB,KAAAS,OAAA,CAAAL,SAAkB,IAAaA,SAAA,CAAAM,MAAgB,QAAAN,SAAA,CAAAO,KAAA,CAAAlB,eAAA;EACxE,KAAAmB,QAAM,EAASC,WAAA,IAAA1B,QAAiB;EAEhC,KAAA2B,aACE,EAAAC,gBAAA,IAAA5B,QAAA;EAAA,IAAC6B,YAAA,IAAAR,iBAAA,KAAAM,aAAA,eAAAA,aAAA,GAAAjB,eAAA;EAAA,IAAAoB,MAAA,GAAAD,YAAA,KAAAJ,QAAA;EAAA,OACC,eAAOhC,KAAA,CAAAW,MAAA;IAAA2B,MACH,SAAU;IAAA,GACdhB,SAAA,CAAAiB,GAAc;IAAuBC,YACjC,EAAAlB,SAAU,CAAAkB,YAAA,CAAAA,YAAA;IAAA,GACdlB,SAAA,CAAAmB,YAAiB;IAAAC,gBACP;IAAAC,SACV,MAAS;IAAAC,QACJ,YAAU;IAAA,IAAAP,MACb;MAAgBQ,cAChB;MAA0CC,iBAC7B,EAAAxB,SAAA,CAAAmB,YAAA,CAAAM,OAAA;MAAAC,WACb;MAAeC,aACf,OAAiB;MAAAC,eACJ;MAAAC,WACb,EAAW;MAAAC,SACX,EAAAnC,eAAU;MACZoC,QAAA;IAAA;IACI,GAEHhC,KAAA;IAAAD,QAAA,GAaCQ,iBAIA,kBAAA9B,IAAA,CAAAW,SACE;MAAA6C,KAAA;MAAAT,cAAC;MAAAzB,QAAA,EAAAI,SAAA,GAAAA,SAAA,CAAA+B,IAAA,OAAAnC;IAAA,oBACUtB,IAAA,CAAAa,MAAA;MAAA6C,QACT,WAAQA,SAAAC,KAAA;QAAA,OACRtB,gBAAM,CAAAsB,KAAA,CAAAC,WAAA,CAAAC,MAAA,CAAAC,MAAA;MAAA;MACCxC,QACP;MAAQ;AACA;MACMN,oBACC,CAAAM,QAAA,YAAAyC,KAAA,EAAAC,GAAA;QAAA,sBAAAhE,IAAA,CAAAW,SAAA;UACjB6C,KAAA;UACAlC,QAAA,EAAAyC;QAAC,GAAAC,GAAA;MAAA;IACU,IACFzB,MAAA,IACP,eAAMrC,KAAA,CAAAE,SAAA;MAAAkB,QACN,GAAO,eACPtB,IAAe,CAAAM,cAAA;QAAAwC,QACf,EAAQ,UAAO;QAAWmB,MAE1B;QAAmDC,IAAA;QACrDC,KAAA;QACFL,MAAA;QAAAM,MAAA,EAAA3C,cAAA;QAAA4C,aAAA;QAEJpD,MAAA,EAAAA,MAAA,CAAAC;MAEJ,IAOgB,eAAUlB,IAAU,CAAAY,MAAG,EAAM;QAEzCkC,QAAA,YAAC;QAILmB,MAAA","ignoreList":[]}
@@ -0,0 +1,31 @@
1
+ import { Children } from "react";
2
+ const isBareTextChild = child => typeof child === "string" || typeof child === "number";
3
+ function coalesceBareTextRuns(children, renderLabel) {
4
+ const out = [];
5
+ let run;
6
+ let runIndex = 0;
7
+ const flushRun = () => {
8
+ if (run !== void 0 && run !== "") out.push(renderLabel(run, `lc50-run-${runIndex++}`));
9
+ run = void 0;
10
+ };
11
+ for (const child of children) {
12
+ if (isBareTextChild(child)) {
13
+ run = (run ?? "") + String(child);
14
+ } else {
15
+ flushRun();
16
+ out.push(child);
17
+ }
18
+ }
19
+ flushRun();
20
+ return out;
21
+ }
22
+ function wrapBareTextChildren(children, renderLabel) {
23
+ if (isBareTextChild(children)) return renderLabel(String(children));
24
+ if (Array.isArray(children)) {
25
+ const flattened = Children.toArray(children);
26
+ if (flattened.some(isBareTextChild)) return coalesceBareTextRuns(flattened, renderLabel);
27
+ }
28
+ return children;
29
+ }
30
+ export { isBareTextChild, wrapBareTextChildren };
31
+ //# sourceMappingURL=textRidesText.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Children","isBareTextChild","child","coalesceBareTextRuns","children","renderLabel","out","run","runIndex","flushRun","push","String","wrapBareTextChildren","Array","isArray","flattened","toArray","some"],"sources":["../../../src/shared/textRidesText.ts"],"sourcesContent":[null],"mappings":"AAYA,SAASA,QAAA,QAAgB;AAGlB,MAAMC,eAAA,GAAmBC,KAAA,IAC9B,OAAOA,KAAA,KAAU,YAAY,OAAOA,KAAA,KAAU;AAEhD,SAASC,qBACPC,QAAA,EACAC,WAAA,EACa;EACb,MAAMC,GAAA,GAAmB,EAAC;EAC1B,IAAIC,GAAA;EACJ,IAAIC,QAAA,GAAW;EACf,MAAMC,QAAA,GAAWA,CAAA,KAAM;IACrB,IAAIF,GAAA,KAAQ,UAAaA,GAAA,KAAQ,IAAID,GAAA,CAAII,IAAA,CAAKL,WAAA,CAAYE,GAAA,EAAK,YAAYC,QAAA,EAAU,EAAE,CAAC;IACxFD,GAAA,GAAM;EACR;EACA,WAAWL,KAAA,IAASE,QAAA,EAAU;IAC5B,IAAIH,eAAA,CAAgBC,KAAK,GAAG;MAC1BK,GAAA,IAAOA,GAAA,IAAO,MAAMI,MAAA,CAAOT,KAAK;IAClC,OAAO;MACLO,QAAA,CAAS;MACTH,GAAA,CAAII,IAAA,CAAKR,KAAK;IAChB;EACF;EACAO,QAAA,CAAS;EACT,OAAOH,GAAA;AACT;AAOO,SAASM,qBACdR,QAAA,EACAC,WAAA,EACW;EACX,IAAIJ,eAAA,CAAgBG,QAAQ,GAAG,OAAOC,WAAA,CAAYM,MAAA,CAAOP,QAAQ,CAAC;EAClE,IAAIS,KAAA,CAAMC,OAAA,CAAQV,QAAQ,GAAG;IAC3B,MAAMW,SAAA,GAAYf,QAAA,CAASgB,OAAA,CAAQZ,QAAQ;IAC3C,IAAIW,SAAA,CAAUE,IAAA,CAAKhB,eAAe,GAAG,OAAOE,oBAAA,CAAqBY,SAAA,EAAWV,WAAW;EACzF;EACA,OAAOD,QAAA;AACT","ignoreList":[]}
@@ -0,0 +1,52 @@
1
+ import { Children } from "react";
2
+ var isBareTextChild = function isBareTextChild2(child) {
3
+ return typeof child === "string" || typeof child === "number";
4
+ };
5
+ function coalesceBareTextRuns(children, renderLabel) {
6
+ var out = [];
7
+ var run;
8
+ var runIndex = 0;
9
+ var flushRun = function flushRun2() {
10
+ if (run !== void 0 && run !== "") out.push(renderLabel(run, `lc50-run-${runIndex++}`));
11
+ run = void 0;
12
+ };
13
+ var _iteratorNormalCompletion = true,
14
+ _didIteratorError = false,
15
+ _iteratorError = void 0;
16
+ try {
17
+ for (var _iterator = children[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
18
+ var child = _step.value;
19
+ if (isBareTextChild(child)) {
20
+ run = (run !== null && run !== void 0 ? run : "") + String(child);
21
+ } else {
22
+ flushRun();
23
+ out.push(child);
24
+ }
25
+ }
26
+ } catch (err) {
27
+ _didIteratorError = true;
28
+ _iteratorError = err;
29
+ } finally {
30
+ try {
31
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
32
+ _iterator.return();
33
+ }
34
+ } finally {
35
+ if (_didIteratorError) {
36
+ throw _iteratorError;
37
+ }
38
+ }
39
+ }
40
+ flushRun();
41
+ return out;
42
+ }
43
+ function wrapBareTextChildren(children, renderLabel) {
44
+ if (isBareTextChild(children)) return renderLabel(String(children));
45
+ if (Array.isArray(children)) {
46
+ var flattened = Children.toArray(children);
47
+ if (flattened.some(isBareTextChild)) return coalesceBareTextRuns(flattened, renderLabel);
48
+ }
49
+ return children;
50
+ }
51
+ export { isBareTextChild, wrapBareTextChildren };
52
+ //# sourceMappingURL=textRidesText.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Children","isBareTextChild","isBareTextChild2","child","coalesceBareTextRuns","children","renderLabel","out","run","runIndex","flushRun","flushRun2","push","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","value","String","err","return"],"sources":["../../../src/shared/textRidesText.ts"],"sourcesContent":[null],"mappings":"AAYA,SAASA,QAAA,QAAgB;AAGlB,IAAAC,eAAM,YAAmBC,gBACvBA,CAAAC,KAAU;EAEnB,OAAS,OAAAA,KAAA,aACP,WACAA,KAAA,KACa;AACb;AACA,SAAIC,qBAAAC,QAAA,EAAAC,WAAA;EACJ,IAAIC,GAAA;EACJ,IAAAC,GAAM;EACJ,IAAAC,QAAI,GAAQ;EACZ,IAAAC,QAAM,YAAAC,UAAA;IACR,IAAAH,GAAA,eAAAA,GAAA,SAAAD,GAAA,CAAAK,IAAA,CAAAN,WAAA,CAAAE,GAAA,cAAAC,QAAA;IACAD,GAAA,QAAW;EACT;EACE,IAAAK,yBAAoB,GAAO,IAAK;IAAAC,iBAAA;IAAAC,cAAA;EAAA,IAClC;IACE,SAAAC,SAAS,GAAAX,QAAA,CAAAY,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAN,yBAAA,IAAAM,KAAA,GAAAH,SAAA,CAAAI,IAAA,IAAAC,IAAA,GAAAR,yBAAA;MACT,IAAIV,KAAK,GAAAgB,KAAK,CAAAG,KAAA;MAChB,IAAArB,eAAA,CAAAE,KAAA;QACFK,GAAA,IAAAA,GAAA,aAAAA,GAAA,cAAAA,GAAA,SAAAe,MAAA,CAAApB,KAAA;MACA,OAAS;QACTO,QAAO;QACTH,GAAA,CAAAK,IAAA,CAAAT,KAAA;MAOO;IAIL;EACA,SAAIqB,GAAM;IACRV,iBAAM,GAAY;IAClBC,cAAc,GAAAS,GAAK;EACrB;IACA;MACF,KAAAX,yBAAA,IAAAG,SAAA,CAAAS,MAAA","ignoreList":[]}
@@ -1,9 +1,10 @@
1
1
  import { Alert } from "@multiplatform.one/components";
2
2
  import { LinearGradient } from "@tamagui/linear-gradient";
3
3
  import { useResolvedKnobs } from "@multiplatform.one/theme";
4
- import { useState } from "react";
4
+ import { Children, useState } from "react";
5
5
  import { Button, Paragraph, XStack, YStack } from "tamagui";
6
6
  import { useCutoffGradientColors } from "../shared/cutoffGradient.mjs";
7
+ import { isBareTextChild, wrapBareTextChildren } from "../shared/textRidesText.mjs";
7
8
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
8
9
  const zIndex = {
9
10
  localTop: 100
@@ -17,7 +18,8 @@ function MDXAside({
17
18
  knobProps
18
19
  } = useResolvedKnobs();
19
20
  const gradientColors = useCutoffGradientColors();
20
- const areChildrenString = typeof children === "string";
21
+ const flattened = Array.isArray(children) ? Children.toArray(children) : null;
22
+ const areChildrenString = isBareTextChild(children) || Boolean(flattened && flattened.length > 0 && flattened.every(isBareTextChild));
21
23
  const [expanded, setExpanded] = useState(false);
22
24
  const [contentHeight, setContentHeight] = useState();
23
25
  const shouldCutoff = !areChildrenString && (contentHeight === void 0 || contentHeight > cutoffMaxHeight);
@@ -44,10 +46,13 @@ function MDXAside({
44
46
  children: [areChildrenString ? /* @__PURE__ */jsx(Paragraph, {
45
47
  color: "$color10",
46
48
  marginVertical: "$-5",
47
- children
49
+ children: flattened ? flattened.join("") : children
48
50
  }) : /* @__PURE__ */jsx(YStack, {
49
51
  onLayout: event => setContentHeight(event.nativeEvent.layout.height),
50
- children
52
+ children: wrapBareTextChildren(children, (label, key) => /* @__PURE__ */jsx(Paragraph, {
53
+ color: "$color10",
54
+ children: label
55
+ }, key))
51
56
  }), cutoff && /* @__PURE__ */jsxs(Fragment, {
52
57
  children: [/* @__PURE__ */jsx(LinearGradient, {
53
58
  position: "absolute",
@@ -1 +1 @@
1
- {"version":3,"names":["Alert","LinearGradient","useResolvedKnobs","useState","Button","Paragraph","XStack","YStack","useCutoffGradientColors","Fragment","jsx","jsxs","zIndex","localTop","cutoffMaxHeight","MDXAside","children","props","knobProps","gradientColors","areChildrenString","expanded","setExpanded","contentHeight","setContentHeight","shouldCutoff","cutoff","render","gap","borderRadius","panelPadding","marginHorizontal","marginTop","position","marginVertical","paddingHorizontal","padding","borderWidth","paddingBottom","backgroundColor","borderColor","maxHeight","overflow","color","onLayout","event","nativeEvent","layout","height","bottom","left","right","colors","pointerEvents","justifyContent","onPress","MDXNote","intent","icon","marginBottom"],"sources":["../../../src/Aside/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Alert","LinearGradient","useResolvedKnobs","Children","useState","Button","Paragraph","XStack","YStack","useCutoffGradientColors","isBareTextChild","wrapBareTextChildren","Fragment","jsx","jsxs","zIndex","localTop","cutoffMaxHeight","MDXAside","children","props","knobProps","gradientColors","flattened","Array","isArray","toArray","areChildrenString","Boolean","length","every","expanded","setExpanded","contentHeight","setContentHeight","shouldCutoff","cutoff","render","gap","borderRadius","panelPadding","marginHorizontal","marginTop","position","marginVertical","paddingHorizontal","padding","borderWidth","paddingBottom","backgroundColor","borderColor","maxHeight","overflow","color","join","onLayout","event","nativeEvent","layout","height","label","key","bottom","left","right","colors","pointerEvents","justifyContent","onPress","MDXNote","intent","icon","marginBottom"],"sources":["../../../src/Aside/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -35,6 +35,7 @@ var import_theme = require("@multiplatform.one/theme");
35
35
  var import_react = require("react");
36
36
  var import_tamagui = require("tamagui");
37
37
  var import_cutoffGradient = require("../shared/cutoffGradient.native.js");
38
+ var import_textRidesText = require("../shared/textRidesText.native.js");
38
39
  var zIndex = {
39
40
  localTop: 100
40
41
  };
@@ -48,7 +49,8 @@ function MDXAside(param) {
48
49
  knobProps
49
50
  } = (0, import_theme.useResolvedKnobs)();
50
51
  var gradientColors = (0, import_cutoffGradient.useCutoffGradientColors)();
51
- var areChildrenString = typeof children === "string";
52
+ var flattened = Array.isArray(children) ? import_react.Children.toArray(children) : null;
53
+ var areChildrenString = (0, import_textRidesText.isBareTextChild)(children) || Boolean(flattened && flattened.length > 0 && flattened.every(import_textRidesText.isBareTextChild));
52
54
  var [expanded, setExpanded] = (0, import_react.useState)(false);
53
55
  var [contentHeight, setContentHeight] = (0, import_react.useState)();
54
56
  var shouldCutoff = !areChildrenString && (contentHeight === void 0 || contentHeight > cutoffMaxHeight);
@@ -75,12 +77,20 @@ function MDXAside(param) {
75
77
  children: [areChildrenString ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Paragraph, {
76
78
  color: "$color10",
77
79
  marginVertical: "$-5",
78
- children
80
+ children: flattened ? flattened.join("") : children
79
81
  }) : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.YStack, {
80
82
  onLayout: function onLayout(event) {
81
83
  return setContentHeight(event.nativeEvent.layout.height);
82
84
  },
83
- children
85
+ children: (
86
+ /* LC-82: mixed element+string children — string runs still ride a
87
+ Text component instead of crashing native. */
88
+ (0, import_textRidesText.wrapBareTextChildren)(children, function (label, key) {
89
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Paragraph, {
90
+ color: "$color10",
91
+ children: label
92
+ }, key);
93
+ }))
84
94
  }), cutoff && /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
85
95
  children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_linear_gradient.LinearGradient, {
86
96
  position: "absolute",
@@ -1 +1 @@
1
- {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","Aside_exports","MDXAside","MDXNote","module","exports","import_jsx_runtime","require","import_components","import_linear_gradient","import_theme","import_react","import_tamagui","import_cutoffGradient","zIndex","localTop","cutoffMaxHeight","param","children","props","knobProps","useResolvedKnobs","gradientColors","useCutoffGradientColors","areChildrenString","expanded","setExpanded","useState","contentHeight","setContentHeight","shouldCutoff","cutoff","jsxs","YStack","render","gap","borderRadius","panelPadding","marginHorizontal","marginTop","position","marginVertical","paddingHorizontal","padding","borderWidth","paddingBottom","backgroundColor","borderColor","maxHeight","overflow","jsx","Paragraph","color","onLayout","event","nativeEvent","layout","height"],"sources":["../../../src/Aside/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","Aside_exports","MDXAside","MDXNote","module","exports","import_jsx_runtime","require","import_components","import_linear_gradient","import_theme","import_react","import_tamagui","import_cutoffGradient","import_textRidesText","zIndex","localTop","cutoffMaxHeight","param","children","props","knobProps","useResolvedKnobs","gradientColors","useCutoffGradientColors","flattened","Array","isArray","Children","toArray","areChildrenString","isBareTextChild","Boolean","length","every","expanded","setExpanded","useState","contentHeight","setContentHeight","shouldCutoff","cutoff","jsxs","YStack","render","gap","borderRadius","panelPadding","marginHorizontal","marginTop","position","marginVertical","paddingHorizontal","padding","borderWidth","paddingBottom","backgroundColor","borderColor","maxHeight","overflow","jsx","Paragraph","color","join","onLayout","event","nativeEvent","layout","height"],"sources":["../../../src/Aside/index.tsx"],"sourcesContent":[null],"mappings":"AAAA,YAAS;;AACT,IAAAA,SAAS,GAAAC,MAAA,CAAAC,cAAsB;AAC/B,IAAAC,gBAAS,GAAAF,MAAA,CAAAG,wBAAwB;AACjC,IAAAC,iBAAmB,GAAAJ,MAAA,CAAAK,mBAAgC;AACnD,IAAAC,YAAS,GAAQN,MAAA,CAAAO,SAAW,CAAQC,cAAc;AAClD,IAAAC,QAAS,GAAAA,CAAAC,MAAA,EAAAC,GAAA;EACT,SAASC,IAAA,IAAAD,GAAA,EA+CDZ,SAgBA,CAAAW,MAhBA,EAAAE,IAgBA;IAAAC,GAAA,EAAAF,GAhBA,CAAAC,IAAA;IAAAE,UAAA;EAAA;AA7CR;AACA,IAAAC,WAAM,GAAAA,CAAAC,EAAA,EAAAC,IAAkB,EAAAC,MAAA,EAAAC,IAAA;EAMjB,IAAAF,IAAS,WAAWA,IAAA,KAAU,QAAG,IAAkD,OAAAA,IAAA;IACxF,KAAM,IAAEG,GAAA,IAAUhB,iBAAI,CAAAa,IAAiB,GACvC,IAAM,CAAAX,YAAA,CAAAe,IAAiB,CAAAL,EAAA,EAAAI,GAAA,KAAAA,GAAA,KAAwBF,MAAA,EAGzCnB,SAAA,CAAAiB,EAAY,EAAAI,GAAA,EAAM;MAAAP,GAAA,EAAQA,CAAA,KAAAI,IAAQ,CAAAG,GAAI;MAAAN,UAAS,EAAQ,EAAAK,IAAA,GAAQjB,gBAAI,CAAAe,IAAA,EAAAG,GAAA,MAAAD,IAAA,CAAAL;IAAA;EACzE;EAGA,OAAOE,EAAA;AACP;AAEA,IAAAM,YAAM,GAAAC,GACJ,IAACR,WAAA,CAAAhB,SAAsB,iBAAkB;EAAAyB,KAAa;AAAA,IAAAD,GAAA,CAAgB;AACxE,IAAAE,aAAe;AAEfhB,QAAA,CACEgB,aAAA;EAAAC,QAAC,EAAAA,CAAA,KAAAA,QAAA;EAAAC,OAAA,EAAAA,CAAA,KAAAA;AAAA;AACQC,MACN,CAAAC,OAAG,GAAAP,YAAU,CAAAG,aAAA;AAAA,IAAAK,kBACA,GAAAC,OAAU,oBAAa;AAAA,IAAAC,iBACvB,GAAAD,OAAA;AAAA,IAAAE,sBACG,GAAAF,OAAA;AAAA,IAAAG,YACjB,GAAUH,OAAA;AAAA,IAAAI,YACD,GAAAJ,OAAA;AAAA,IAAAK,cACJ,GAAUL,OAAA;AAAA,IAAAM,qBACG,GAAAN,OAAA;AAAA,IAAAO,oBAChB,GAAmBP,OAAA,oCAAuB;AAAA,IAAAQ,MAC1C;EAAaC,QACb;AAAe;AACE,IAAAC,eACjB,GAAa;AAAA,SACbf,SAAAgB,KAAW;EAAA;IACXC,QAAA;IAAU,GAAAC;EAAA,IAAAF,KAAA;EAAA,IACZ;IAAAG;EAAA,QAAAX,YAAA,CAAAY,gBAAA;EAAA,IACCC,cAAG,OAAAV,qBAAA,CAAAW,uBAAA;EAAA,IAEHC,SAAA,GAAAC,KAAA,CAAAC,OAAA,CAAAR,QAAA,IAAAR,YAAA,CAAAiB,QAAA,CAAAC,OAAA,CAAAV,QAAA;EAAA,IAAAW,iBAAA,KACC,EAAAhB,oBAAC,CAAAiB,eAAU,EAAMZ,QAAA,KAAWa,OAAA,CAAAP,SAAe,IAAAA,SACxC,CAAAQ,MAAA,QAAYR,SAAU,CAAAS,KAAK,CAAEpB,oBAGhC,CAAAiB,eAAA,EAAC;EAQD,KAAAI,QAGD,EAAAC,WACC,QAAAzB,YAAA,CAAA0B,QACE;EAAA,KAAAC,aAAA,EAAAC,gBAAA,QAAA5B,YAAA,CAAA0B,QAAA;EAAA,IAAAG,YAAC,IAAAV,iBAAA,KAAAQ,aAAA,eAAAA,aAAA,GAAArB,eAAA;EAAA,IAAAwB,MAAA,GAAAD,YAAA,KAAAL,QAAA;EAAA,sBACU,IAAA7B,kBAAA,CAAAoC,IAAA,EAAA9B,cAAA,CAAA+B,MAAA;IAAAC,MAAA,SACT;IAAQ,GAAAvB,SACR,CAAAwB,GAAM;IAAAC,YACN,EAAAzB,SAAO,CAAAyB,YAAA,CAAAA,YAAA;IAAA,GAAAzB,SACP,CAAA0B,YAAQ;IAAAC,gBACR,EAAQ;IAAAC,SAAA,EACR;IAAcC,QAAA,EACd,UAAQ;IAAO,IAAAT,MAAA;MAAAU,cACjB;MAAAC,iBACA,EAAA/B,SAAA,CAAA0B,YAAA,CAAAM,OAAA;MAAAC,WAAC;MAAAC,aAAA;MAAAC,eACC,WAAS;MAAAC,WACT,gBAAO;MAAAC,SACP,EAAAzC,eAAM;MAAA0C,QACN;IAAO;IACQ,GAAAvC,KAAA;IACWD,QAAA,EAE1B,CAAmDW,iBAAA,sBAAAxB,kBAAA,CAAAsD,GAAA,EAAAhD,cAAA,CAAAiD,SAAA;MAAAC,KACrD;MAAAX,cACF;MAAAhC,QAAA,EAAAM,SAAA,GAAAA,SAAA,CAAAsC,IAAA,OAAA5C;IAAA,wBAAAb,kBAAA,CAAAsD,GAAA,EAAAhD,cAAA,CAAA+B,MAAA;MAEJqB,QAAA,WAAAA,SAAAC,KAAA;QAEJ,OAAA1B,gBAAA,CAAA0B,KAAA,CAAAC,WAAA,CAAAC,MAAA,CAAAC,MAAA;MAOO,CAAS;MACdjD,QACE;MAIJ","ignoreList":[]}
@@ -0,0 +1,31 @@
1
+ import { Children } from "react";
2
+ const isBareTextChild = child => typeof child === "string" || typeof child === "number";
3
+ function coalesceBareTextRuns(children, renderLabel) {
4
+ const out = [];
5
+ let run;
6
+ let runIndex = 0;
7
+ const flushRun = () => {
8
+ if (run !== void 0 && run !== "") out.push(renderLabel(run, `lc50-run-${runIndex++}`));
9
+ run = void 0;
10
+ };
11
+ for (const child of children) {
12
+ if (isBareTextChild(child)) {
13
+ run = (run ?? "") + String(child);
14
+ } else {
15
+ flushRun();
16
+ out.push(child);
17
+ }
18
+ }
19
+ flushRun();
20
+ return out;
21
+ }
22
+ function wrapBareTextChildren(children, renderLabel) {
23
+ if (isBareTextChild(children)) return renderLabel(String(children));
24
+ if (Array.isArray(children)) {
25
+ const flattened = Children.toArray(children);
26
+ if (flattened.some(isBareTextChild)) return coalesceBareTextRuns(flattened, renderLabel);
27
+ }
28
+ return children;
29
+ }
30
+ export { isBareTextChild, wrapBareTextChildren };
31
+ //# sourceMappingURL=textRidesText.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Children","isBareTextChild","child","coalesceBareTextRuns","children","renderLabel","out","run","runIndex","flushRun","push","String","wrapBareTextChildren","Array","isArray","flattened","toArray","some"],"sources":["../../../src/shared/textRidesText.ts"],"sourcesContent":[null],"mappings":"AAYA,SAASA,QAAA,QAAgB;AAGlB,MAAMC,eAAA,GAAmBC,KAAA,IAC9B,OAAOA,KAAA,KAAU,YAAY,OAAOA,KAAA,KAAU;AAEhD,SAASC,qBACPC,QAAA,EACAC,WAAA,EACa;EACb,MAAMC,GAAA,GAAmB,EAAC;EAC1B,IAAIC,GAAA;EACJ,IAAIC,QAAA,GAAW;EACf,MAAMC,QAAA,GAAWA,CAAA,KAAM;IACrB,IAAIF,GAAA,KAAQ,UAAaA,GAAA,KAAQ,IAAID,GAAA,CAAII,IAAA,CAAKL,WAAA,CAAYE,GAAA,EAAK,YAAYC,QAAA,EAAU,EAAE,CAAC;IACxFD,GAAA,GAAM;EACR;EACA,WAAWL,KAAA,IAASE,QAAA,EAAU;IAC5B,IAAIH,eAAA,CAAgBC,KAAK,GAAG;MAC1BK,GAAA,IAAOA,GAAA,IAAO,MAAMI,MAAA,CAAOT,KAAK;IAClC,OAAO;MACLO,QAAA,CAAS;MACTH,GAAA,CAAII,IAAA,CAAKR,KAAK;IAChB;EACF;EACAO,QAAA,CAAS;EACT,OAAOH,GAAA;AACT;AAOO,SAASM,qBACdR,QAAA,EACAC,WAAA,EACW;EACX,IAAIJ,eAAA,CAAgBG,QAAQ,GAAG,OAAOC,WAAA,CAAYM,MAAA,CAAOP,QAAQ,CAAC;EAClE,IAAIS,KAAA,CAAMC,OAAA,CAAQV,QAAQ,GAAG;IAC3B,MAAMW,SAAA,GAAYf,QAAA,CAASgB,OAAA,CAAQZ,QAAQ;IAC3C,IAAIW,SAAA,CAAUE,IAAA,CAAKhB,eAAe,GAAG,OAAOE,oBAAA,CAAqBY,SAAA,EAAWV,WAAW;EACzF;EACA,OAAOD,QAAA;AACT","ignoreList":[]}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var textRidesText_exports = {};
26
+ __export(textRidesText_exports, {
27
+ isBareTextChild: () => isBareTextChild,
28
+ wrapBareTextChildren: () => wrapBareTextChildren
29
+ });
30
+ module.exports = __toCommonJS(textRidesText_exports);
31
+ var import_react = require("react");
32
+ var isBareTextChild = function isBareTextChild2(child) {
33
+ return typeof child === "string" || typeof child === "number";
34
+ };
35
+ function coalesceBareTextRuns(children, renderLabel) {
36
+ var out = [];
37
+ var run;
38
+ var runIndex = 0;
39
+ var flushRun = function flushRun2() {
40
+ if (run !== void 0 && run !== "") out.push(renderLabel(run, `lc50-run-${runIndex++}`));
41
+ run = void 0;
42
+ };
43
+ var _iteratorNormalCompletion = true,
44
+ _didIteratorError = false,
45
+ _iteratorError = void 0;
46
+ try {
47
+ for (var _iterator = children[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
48
+ var child = _step.value;
49
+ if (isBareTextChild(child)) {
50
+ run = (run !== null && run !== void 0 ? run : "") + String(child);
51
+ } else {
52
+ flushRun();
53
+ out.push(child);
54
+ }
55
+ }
56
+ } catch (err) {
57
+ _didIteratorError = true;
58
+ _iteratorError = err;
59
+ } finally {
60
+ try {
61
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
62
+ _iterator.return();
63
+ }
64
+ } finally {
65
+ if (_didIteratorError) {
66
+ throw _iteratorError;
67
+ }
68
+ }
69
+ }
70
+ flushRun();
71
+ return out;
72
+ }
73
+ function wrapBareTextChildren(children, renderLabel) {
74
+ if (isBareTextChild(children)) return renderLabel(String(children));
75
+ if (Array.isArray(children)) {
76
+ var flattened = import_react.Children.toArray(children);
77
+ if (flattened.some(isBareTextChild)) return coalesceBareTextRuns(flattened, renderLabel);
78
+ }
79
+ return children;
80
+ }
81
+ //# sourceMappingURL=textRidesText.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","textRidesText_exports","isBareTextChild","wrapBareTextChildren","module","exports","import_react","require","isBareTextChild2","child","coalesceBareTextRuns","children","renderLabel"],"sources":["../../../src/shared/textRidesText.ts"],"sourcesContent":[null],"mappings":"AAYA,YAAS;;AAGF,IAAAA,SAAM,GAAAC,MAAA,CAAAC,cACX;AAEF,IAAAC,gBAAS,GAAAF,MAAA,CACPG,wBAEa;AACb,IAAAC,iBAA0B,GAAAJ,MAAA,CAAAK,mBAAA;AAC1B,IAAAC,YAAI,GAAAN,MAAA,CAAAO,SAAA,CAAAC,cAAA;AACJ,IAAAC,QAAI,GAAAA,CAAAC,MAAW,EAAAC,GAAA;EACf,SAAMC,IAAA,IAAWD,GAAA,EACfZ,SAAI,CAAAW,MAAQ,EAAAE,IAAa;IAAAC,GAAA,EAAQF,GAAI,CAAAC,IAAI;IAAAE,UAAK;EAAY,CAAK;AAC/D;AAAM,IACRC,WAAA,GAAAA,CAAAC,EAAA,EAAAC,IAAA,EAAAC,MAAA,EAAAC,IAAA;EACA,IAAAF,IAAA,IAAW,OAAAA,IAAS,aAAU,WAAAA,IAAA;IAC5B,KAAI,IAAAG,GAAA,IAAAhB,iBAAwB,CAAAa,IAAA,GAC1B,KAAAX,YAAc,CAAAe,IAAM,CAAAL,EAAA,EAAOI,GAAA,KAAKA,GAAA,KAAAF,MAAA,EAClCnB,SAAO,CAAAiB,EAAA,EAAAI,GAAA;MAAAP,GAAA,EAAAA,CAAA,KAAAI,IAAA,CAAAG,GAAA;MAAAN,UAAA,IAAAK,IAAA,GAAAjB,gBAAA,CAAAe,IAAA,EAAAG,GAAA,MAAAD,IAAA,CAAAL;IAAA;EACL;EACA,OAAAE,EAAI;AAAU;AAChB,IACFM,YAAA,GAAAC,GAAA,IAAAR,WAAA,CAAAhB,SAAA;EAAAyB,KAAA;AAAA,IAAAD,GAAA;AACA,IAAAE,qBAAS;AACThB,QAAA,CAAOgB,qBAAA;EACTC,eAAA,EAAAA,CAAA,KAAAA,eAAA;EAOOC,oBAAS,EAAAA,CAAA,KACdA;AAGA;AACAC,MAAI,CAAAC,OAAM,GAAAP,YAAgB,CAAAG,qBAAG;AAC3B,IAAAK,YAAM,GAAAC,OAAY,QAAS;AAC3B,IAAAL,eAAc,YAAKM,gBAAkBA,CAAOC,KAAA;EAC9C,cAAAA,KAAA,wBAAAA,KAAA;AACA;AACF,SAAAC,qBAAAC,QAAA,EAAAC,WAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@multiplatform.one/markdown",
3
- "version": "6.6.0",
3
+ "version": "7.0.0",
4
4
  "description": "Cross-platform markdown renderer with Shiki syntax highlighting for React and React Native",
5
5
  "keywords": [
6
6
  "cross-platform",
@@ -63,8 +63,8 @@
63
63
  "dependencies": {
64
64
  "@mdx-js/mdx": "^3.1.1",
65
65
  "@mdx-js/react": "^3.1.1",
66
- "@tamagui/linear-gradient": "2.0.0-rc.41",
67
- "@tamagui/react-native-svg": "2.0.0-rc.41",
66
+ "@tamagui/linear-gradient": "2.7.6",
67
+ "@tamagui/react-native-svg": "2.7.6",
68
68
  "mermaid": "^11.14.0",
69
69
  "parse-numeric-range": "^1.3.0",
70
70
  "rehype-autolink-headings": "^7.1.0",
@@ -74,17 +74,17 @@
74
74
  "remark-mdx-frontmatter": "^5.2.0",
75
75
  "remark-parse": "^11.0.0",
76
76
  "shiki": "^4.0.2",
77
- "tamagui": "2.0.0-rc.41",
77
+ "tamagui": "2.7.6",
78
78
  "unified": "^11.0.5",
79
79
  "unist-util-visit": "^5.1.0",
80
- "@multiplatform.one/platform": "6.6.0",
81
- "@multiplatform.one/components": "6.6.0",
82
- "@multiplatform.one/table-primitives": "6.6.0",
83
- "@multiplatform.one/theme": "6.6.0",
84
- "@multiplatform.one/router": "6.6.0"
80
+ "@multiplatform.one/components": "7.0.0",
81
+ "@multiplatform.one/platform": "7.0.0",
82
+ "@multiplatform.one/router": "7.0.0",
83
+ "@multiplatform.one/table-primitives": "7.0.0",
84
+ "@multiplatform.one/theme": "7.0.0"
85
85
  },
86
86
  "devDependencies": {
87
- "@tamagui/build": "2.0.0-rc.41",
87
+ "@tamagui/build": "2.7.6",
88
88
  "@testing-library/react": "^16.3.2",
89
89
  "@types/mdast": "^4.0.4",
90
90
  "@types/mdx": "^2.0.13",
@@ -94,9 +94,9 @@
94
94
  "react": "19.2.5",
95
95
  "react-dom": "19.2.5",
96
96
  "vitest": "^4.1.5",
97
- "@multiplatform.one/storybook": "6.6.0",
98
- "@multiplatform.one/config": "6.6.0",
99
- "@multiplatform.one/test-utils": "6.6.0"
97
+ "@multiplatform.one/config": "7.0.0",
98
+ "@multiplatform.one/storybook": "7.0.0",
99
+ "@multiplatform.one/test-utils": "7.0.0"
100
100
  },
101
101
  "peerDependencies": {
102
102
  "react": "^19.1.0",
@@ -106,6 +106,6 @@
106
106
  "scripts": {
107
107
  "build": "rm -rf dist types 2>/dev/null && tamagui-build --ts-project ./tsconfig.build.json --exclude '\\.spec\\.|\\.test\\.|\\.stories\\.'",
108
108
  "test": "vitest run --coverage --coverage.provider=v8 --coverage.reporter=text --coverage.reporter=lcov --coverage.reporter=html",
109
- "typecheck": "tsc --noEmit"
109
+ "typecheck": "tsgo --noEmit"
110
110
  }
111
111
  }
@@ -0,0 +1,43 @@
1
+ /**
2
+ * LC-82 TEXT-RIDES-TEXT (catalog arm): MDXAside wraps ALL bare string/number
3
+ * children — an all-strings array coalesces into the singleton Paragraph
4
+ * path, and string runs inside mixed element+string children ride their own
5
+ * Paragraph — so `{text}{cond ? suffix : ""}` renders instead of tripping
6
+ * the native "Text strings must be rendered within a <Text> component"
7
+ * invariant.
8
+ */
9
+
10
+ import { renderWithProviders } from "@multiplatform.one/test-utils";
11
+ import { screen } from "@testing-library/react";
12
+ import { Paragraph } from "tamagui";
13
+ import { describe, expect, it } from "vitest";
14
+ import { MDXAside } from "./index";
15
+
16
+ describe("MDXAside LC-82 TEXT-RIDES-TEXT", () => {
17
+ it("renders an all-strings array as the coalesced singleton Paragraph (no cutoff)", () => {
18
+ const { container } = renderWithProviders(
19
+ <MDXAside>
20
+ {"just a note"}
21
+ {" with a suffix"}
22
+ </MDXAside>,
23
+ );
24
+ const text = screen.getByText("just a note with a suffix");
25
+ expect(text).toBeInTheDocument();
26
+ expect(text.tagName).not.toBe("DIV");
27
+ // Text-only asides never grow cutoff chrome.
28
+ expect(screen.queryByText("Show more")).toBeNull();
29
+ expect(container.querySelector("aside")).toBeTruthy();
30
+ });
31
+
32
+ it("wraps string runs inside mixed element+string children", () => {
33
+ renderWithProviders(
34
+ <MDXAside>
35
+ <Paragraph>first block</Paragraph>
36
+ {"trailing note"}
37
+ </MDXAside>,
38
+ );
39
+ const trailing = screen.getByText("trailing note");
40
+ expect(trailing).toBeInTheDocument();
41
+ expect(trailing.tagName).not.toBe("DIV");
42
+ });
43
+ });
@@ -1,9 +1,10 @@
1
1
  import { Alert } from "@multiplatform.one/components";
2
2
  import { LinearGradient } from "@tamagui/linear-gradient";
3
3
  import { useResolvedKnobs } from "@multiplatform.one/theme";
4
- import { useState, type ReactNode } from "react";
4
+ import { Children, useState, type ReactNode } from "react";
5
5
  import { Button, Paragraph, XStack, YStack } from "tamagui";
6
6
  import { useCutoffGradientColors } from "../shared/cutoffGradient";
7
+ import { isBareTextChild, wrapBareTextChildren } from "../shared/textRidesText";
7
8
 
8
9
  const zIndex = { localTop: 100 };
9
10
  const cutoffMaxHeight = 300;
@@ -15,7 +16,12 @@ export interface MDXAsideProps {
15
16
  export function MDXAside({ children, ...props }: MDXAsideProps & Record<string, unknown>) {
16
17
  const { knobProps } = useResolvedKnobs();
17
18
  const gradientColors = useCutoffGradientColors();
18
- const areChildrenString = typeof children === "string";
19
+ // LC-82 TEXT-RIDES-TEXT: an ARRAY of bare strings is text too — treat it
20
+ // like the singleton string path (one coalesced Paragraph, no cutoff).
21
+ const flattened = Array.isArray(children) ? Children.toArray(children) : null;
22
+ const areChildrenString =
23
+ isBareTextChild(children) ||
24
+ Boolean(flattened && flattened.length > 0 && flattened.every(isBareTextChild));
19
25
  const [expanded, setExpanded] = useState(false);
20
26
  const [contentHeight, setContentHeight] = useState<number | undefined>();
21
27
  // only cut off element children whose content actually exceeds the max height
@@ -46,11 +52,17 @@ export function MDXAside({ children, ...props }: MDXAsideProps & Record<string,
46
52
  >
47
53
  {areChildrenString ? (
48
54
  <Paragraph color="$color10" marginVertical="$-5">
49
- {children}
55
+ {flattened ? flattened.join("") : children}
50
56
  </Paragraph>
51
57
  ) : (
52
58
  <YStack onLayout={(event) => setContentHeight(event.nativeEvent.layout.height)}>
53
- {children}
59
+ {/* LC-82: mixed element+string children — string runs still ride a
60
+ Text component instead of crashing native. */}
61
+ {wrapBareTextChildren(children, (label, key) => (
62
+ <Paragraph key={key} color="$color10">
63
+ {label}
64
+ </Paragraph>
65
+ ))}
54
66
  </YStack>
55
67
  )}
56
68
 
@@ -0,0 +1,57 @@
1
+ /**
2
+ * LC-82 TEXT-RIDES-TEXT (catalog arm) — wrap-and-coalesce for child slots
3
+ * that render into Views. Local copy of the reference remedy in
4
+ * `public/forms/src/Button/index.tsx` (also mirrored in
5
+ * `public/components/src/shared/textRidesText.ts` — markdown consumes
6
+ * components through its published barrel, so the helper cannot be imported
7
+ * cross-package): runs of adjacent bare string/number children coalesce into
8
+ * one concatenated label handed to the slot's own Text wrapper; element
9
+ * children pass through untouched, order preserved.
10
+ */
11
+
12
+ import type { ReactNode } from "react";
13
+ import { Children } from "react";
14
+
15
+ /** Bare string/number children are legal only inside Text. */
16
+ export const isBareTextChild = (child: unknown): child is string | number =>
17
+ typeof child === "string" || typeof child === "number";
18
+
19
+ function coalesceBareTextRuns(
20
+ children: ReturnType<typeof Children.toArray>,
21
+ renderLabel: (label: string, key: string) => ReactNode,
22
+ ): ReactNode[] {
23
+ const out: ReactNode[] = [];
24
+ let run: string | undefined;
25
+ let runIndex = 0;
26
+ const flushRun = () => {
27
+ if (run !== undefined && run !== "") out.push(renderLabel(run, `lc50-run-${runIndex++}`));
28
+ run = undefined;
29
+ };
30
+ for (const child of children) {
31
+ if (isBareTextChild(child)) {
32
+ run = (run ?? "") + String(child);
33
+ } else {
34
+ flushRun();
35
+ out.push(child);
36
+ }
37
+ }
38
+ flushRun();
39
+ return out;
40
+ }
41
+
42
+ /**
43
+ * Wrap ALL bare string/number children of a View-rendering slot: singleton
44
+ * strings/numbers and runs inside arrays go through `renderLabel` (the slot's
45
+ * Text wrapper); pure-element children return unchanged.
46
+ */
47
+ export function wrapBareTextChildren(
48
+ children: ReactNode,
49
+ renderLabel: (label: string, key?: string) => ReactNode,
50
+ ): ReactNode {
51
+ if (isBareTextChild(children)) return renderLabel(String(children));
52
+ if (Array.isArray(children)) {
53
+ const flattened = Children.toArray(children);
54
+ if (flattened.some(isBareTextChild)) return coalesceBareTextRuns(flattened, renderLabel);
55
+ }
56
+ return children;
57
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Aside/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAOjD,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,2CAoEvF;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,sEAAsE;AACtE,wBAAgB,OAAO,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,2CAMrF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Aside/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAQ3D,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,2CA+EvF;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,sEAAsE;AACtE,wBAAgB,OAAO,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,2CAMrF"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * LC-82 TEXT-RIDES-TEXT (catalog arm) — wrap-and-coalesce for child slots
3
+ * that render into Views. Local copy of the reference remedy in
4
+ * `public/forms/src/Button/index.tsx` (also mirrored in
5
+ * `public/components/src/shared/textRidesText.ts` — markdown consumes
6
+ * components through its published barrel, so the helper cannot be imported
7
+ * cross-package): runs of adjacent bare string/number children coalesce into
8
+ * one concatenated label handed to the slot's own Text wrapper; element
9
+ * children pass through untouched, order preserved.
10
+ */
11
+ import type { ReactNode } from "react";
12
+ /** Bare string/number children are legal only inside Text. */
13
+ export declare const isBareTextChild: (child: unknown) => child is string | number;
14
+ /**
15
+ * Wrap ALL bare string/number children of a View-rendering slot: singleton
16
+ * strings/numbers and runs inside arrays go through `renderLabel` (the slot's
17
+ * Text wrapper); pure-element children return unchanged.
18
+ */
19
+ export declare function wrapBareTextChildren(children: ReactNode, renderLabel: (label: string, key?: string) => ReactNode): ReactNode;
20
+ //# sourceMappingURL=textRidesText.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textRidesText.d.ts","sourceRoot":"","sources":["../../src/shared/textRidesText.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,8DAA8D;AAC9D,eAAO,MAAM,eAAe,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAAM,GAAG,MACX,CAAC;AAyBzD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,SAAS,EACnB,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,SAAS,GACtD,SAAS,CAOX"}