markdown-flow-ui 0.1.83-beta.18 → 0.1.83-beta.19

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 (18) hide show
  1. package/dist/Documents/ai-shifu/markdown-flow-ui/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/index.js +1 -1
  2. package/dist/Documents/ai-shifu/markdown-flow-ui/node_modules/.pnpm/rc-input@1.8.0_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-input/es/BaseInput.js +1 -1
  3. package/dist/Documents/ai-shifu/markdown-flow-ui/node_modules/.pnpm/rc-textarea@1.10.2_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-textarea/es/ResizableTextArea.js +1 -1
  4. package/dist/Documents/ai-shifu/markdown-flow-ui/node_modules/.pnpm/rc-textarea@1.10.2_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-textarea/es/TextArea.js +1 -1
  5. package/dist/Documents/ai-shifu/markdown-flow-ui/node_modules/.pnpm/rc-textarea@1.10.2_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-textarea/es/index.js +1 -1
  6. package/dist/Documents/ai-shifu/markdown-flow-ui/node_modules/.pnpm/remark-flow@0.1.6/node_modules/remark-flow/dist/remark-custom-variable.js +1 -1
  7. package/dist/Documents/ai-shifu/markdown-flow-ui/node_modules/.pnpm/remark-flow@0.1.6/node_modules/remark-flow/dist/remark-interaction.js +1 -1
  8. package/dist/Documents/ai-shifu/markdown-flow-ui/node_modules/.pnpm/style-to-object@1.0.11/node_modules/style-to-object/cjs/index.js +1 -1
  9. package/dist/_virtual/index10.js +2 -2
  10. package/dist/_virtual/index3.js +4 -5
  11. package/dist/_virtual/index3.js.map +1 -1
  12. package/dist/_virtual/index4.js +5 -4
  13. package/dist/_virtual/index4.js.map +1 -1
  14. package/dist/_virtual/index8.js +2 -2
  15. package/dist/components/ContentRender/utils/split-content.js +67 -56
  16. package/dist/components/ContentRender/utils/split-content.js.map +1 -1
  17. package/dist/components/ui/inputGroup/textarea.js +1 -1
  18. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { __module as s } from "../../../../../../../../_virtual/index10.js";
1
+ import { __module as s } from "../../../../../../../../_virtual/index8.js";
2
2
  /*!
3
3
  Copyright (c) 2018 Jed Watson.
4
4
  Licensed under the MIT License (MIT), see
@@ -2,7 +2,7 @@ import $ from "../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/hel
2
2
  import oe from "../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/extends.js";
3
3
  import r from "../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/defineProperty.js";
4
4
  import te from "../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/typeof.js";
5
- import d from "../../../../../../../../../_virtual/index3.js";
5
+ import d from "../../../../../../../../../_virtual/index4.js";
6
6
  import l, { useRef as q, cloneElement as ie } from "react";
7
7
  import { hasPrefixSuffix as re, hasAddon as de } from "./utils/commonUtils.js";
8
8
  var xe = /* @__PURE__ */ l.forwardRef(function(e, z) {
@@ -4,7 +4,7 @@ import w from "../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/hel
4
4
  import J from "../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/typeof.js";
5
5
  import s from "../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/slicedToArray.js";
6
6
  import K from "../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js";
7
- import Q from "../../../../../../../../../_virtual/index3.js";
7
+ import Q from "../../../../../../../../../_virtual/index4.js";
8
8
  import ee from "../../../../rc-resize-observer@1.4.3_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-resize-observer/es/index.js";
9
9
  import M from "../../../../rc-util@5.44.4_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-util/es/hooks/useLayoutEffect.js";
10
10
  import te from "../../../../rc-util@5.44.4_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-util/es/hooks/useMergedState.js";
@@ -4,7 +4,7 @@ import d from "../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/hel
4
4
  import Ae from "../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js";
5
5
  import x from "../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/slicedToArray.js";
6
6
  import Fe from "../../../../@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js";
7
- import h from "../../../../../../../../../_virtual/index3.js";
7
+ import h from "../../../../../../../../../_virtual/index4.js";
8
8
  import Ne from "../../../../rc-input@1.8.0_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-input/es/BaseInput.js";
9
9
  import Te from "../../../../rc-util@5.44.4_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-util/es/hooks/useMergedState.js";
10
10
  import o, { useRef as Y, useImperativeHandle as $e, useEffect as Ie } from "react";
@@ -1,5 +1,5 @@
1
1
  import t from "./TextArea.js";
2
- import "../../../../../../../../../_virtual/index3.js";
2
+ import "../../../../../../../../../_virtual/index4.js";
3
3
  import "../../../../rc-resize-observer@1.4.3_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-resize-observer/es/index.js";
4
4
  import "../../../../rc-util@5.44.4_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-util/es/hooks/useLayoutEffect.js";
5
5
  import "react";
@@ -1,5 +1,5 @@
1
1
  import { __exports as a } from "../../../../../../../../../_virtual/remark-custom-variable.js";
2
- import g from "../../../../../../../../../_virtual/index4.js";
2
+ import g from "../../../../../../../../../_virtual/index3.js";
3
3
  import { __require as h } from "./interaction-parser.js";
4
4
  var m;
5
5
  function C() {
@@ -1,5 +1,5 @@
1
1
  import { __exports as n } from "../../../../../../../../../_virtual/remark-interaction.js";
2
- import I from "../../../../../../../../../_virtual/index4.js";
2
+ import I from "../../../../../../../../../_virtual/index3.js";
3
3
  import { __require as g } from "./interaction-parser.js";
4
4
  var m;
5
5
  function k() {
@@ -1,4 +1,4 @@
1
- import { __exports as r } from "../../../../../../../../../_virtual/index8.js";
1
+ import { __exports as r } from "../../../../../../../../../_virtual/index10.js";
2
2
  import { __require as p } from "../../../../inline-style-parser@0.2.4/node_modules/inline-style-parser/index.js";
3
3
  var f;
4
4
  function q() {
@@ -1,5 +1,5 @@
1
- var s = { exports: {} };
1
+ var r = {};
2
2
  export {
3
- s as __module
3
+ r as __exports
4
4
  };
5
5
  //# sourceMappingURL=index10.js.map
@@ -1,8 +1,7 @@
1
- import { getDefaultExportFromCjs as r } from "./_commonjsHelpers.js";
2
- import { __require as s } from "../Documents/ai-shifu/markdown-flow-ui/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/index.js";
3
- var e = s();
4
- const t = /* @__PURE__ */ r(e);
1
+ import { getAugmentedNamespace as e } from "./_commonjsHelpers.js";
2
+ import * as r from "../Documents/ai-shifu/markdown-flow-ui/node_modules/.pnpm/unist-util-visit@5.0.0/node_modules/unist-util-visit/index.js";
3
+ const m = /* @__PURE__ */ e(r);
5
4
  export {
6
- t as default
5
+ m as default
7
6
  };
8
7
  //# sourceMappingURL=index3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
1
+ {"version":3,"file":"index3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -1,7 +1,8 @@
1
- import { getAugmentedNamespace as e } from "./_commonjsHelpers.js";
2
- import * as r from "../Documents/ai-shifu/markdown-flow-ui/node_modules/.pnpm/unist-util-visit@5.0.0/node_modules/unist-util-visit/index.js";
3
- const m = /* @__PURE__ */ e(r);
1
+ import { getDefaultExportFromCjs as r } from "./_commonjsHelpers.js";
2
+ import { __require as s } from "../Documents/ai-shifu/markdown-flow-ui/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/index.js";
3
+ var e = s();
4
+ const t = /* @__PURE__ */ r(e);
4
5
  export {
5
- m as default
6
+ t as default
6
7
  };
7
8
  //# sourceMappingURL=index4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index4.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
1
+ {"version":3,"file":"index4.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,5 +1,5 @@
1
- var r = {};
1
+ var s = { exports: {} };
2
2
  export {
3
- r as __exports
3
+ s as __module
4
4
  };
5
5
  //# sourceMappingURL=index8.js.map
@@ -1,81 +1,92 @@
1
- const k = /<(script|style|link|iframe|html|head|body|meta|title|base|template|div|section|article|main)[\s>]/i, B = [
1
+ const B = /<(script|style|link|iframe|html|head|body|meta|title|base|template|div|section|article|main)[\s>]/i, E = [
2
2
  /<svg[\s\S]*?<\/svg>/i,
3
3
  /<img\b[^>]*?>/i,
4
4
  /```mermaid[\s\S]*?```/i,
5
5
  /```[a-zA-Z0-9]+[\s\S]*?```/i
6
- ], y = /<\/[a-z][^>]*>\s*\n(?=[^\s<])/gi, I = (t, n) => {
7
- let s = t.length, e;
8
- for (y.lastIndex = 0; e = y.exec(t); )
9
- if (!(e.index <= n)) {
10
- s = e.index + e[0].length;
6
+ ], k = /<\/[a-z][^>]*>/gi, O = (t, e, i) => {
7
+ if (i) {
8
+ const l = t.toLowerCase(), c = `</${i.toLowerCase()}>`, u = l.indexOf(c, e);
9
+ if (u !== -1) {
10
+ let o = u + c.length;
11
+ for (; o < t.length && /\s/.test(t[o]); )
12
+ o += 1;
13
+ return o;
14
+ }
15
+ }
16
+ let n = t.length, s;
17
+ for (k.lastIndex = 0; s = k.exec(t); )
18
+ if (!(s.index <= e)) {
19
+ n = s.index + s[0].length;
11
20
  break;
12
21
  }
13
- return s;
14
- }, E = (t) => {
15
- let n = null;
16
- return B.forEach((s) => {
17
- const e = s.exec(t);
18
- if (!e || typeof e.index != "number") return;
19
- const c = e.index, m = e.index + e[0].length;
20
- (!n || c < n.start) && (n = { start: c, end: m });
21
- }), n;
22
- }, O = (t) => {
23
- const n = t.match(/^\s*\|.+\|\s*$/m);
24
- if (!n || typeof n.index != "number") return null;
25
- const s = n[0].match(/^\s*/)?.[0].length ?? 0, e = n.index + s, c = t.slice(e).split(`
26
- `), m = [];
27
- for (const o of c) {
28
- if (!o.trim().startsWith("|")) break;
29
- m.push(o);
22
+ return n;
23
+ }, A = (t) => {
24
+ let e = null;
25
+ return E.forEach((i) => {
26
+ const n = i.exec(t);
27
+ if (!n || typeof n.index != "number") return;
28
+ const s = n.index, l = n.index + n[0].length;
29
+ (!e || s < e.start) && (e = { start: s, end: l });
30
+ }), e;
31
+ }, N = (t) => {
32
+ const e = t.match(/^\s*\|.+\|\s*$/m);
33
+ if (!e || typeof e.index != "number") return null;
34
+ const i = e[0].match(/^\s*/)?.[0].length ?? 0, n = e.index + i, s = t.slice(n).split(`
35
+ `), l = [];
36
+ for (const u of s) {
37
+ if (!u.trim().startsWith("|")) break;
38
+ l.push(u);
30
39
  }
31
- const a = m.join(`
40
+ const c = l.join(`
32
41
  `);
33
- return { start: e, block: a, end: e + a.length };
34
- }, g = (t, n = !1) => {
35
- const s = t.indexOf("```");
36
- if (s !== -1 && t.indexOf("```", s + 3) === -1) {
37
- if (n) {
38
- const i = t.slice(0, s).trimEnd(), d = t.slice(s), u = [];
39
- return i && u.push({ type: "text", value: i }), u.push({ type: "markdown", value: d }), u;
42
+ return { start: n, block: c, end: n + c.length };
43
+ }, p = (t, e = !1) => {
44
+ const i = t.search(B), n = t.indexOf("```");
45
+ if (n !== -1 && t.indexOf("```", n + 3) === -1) {
46
+ if (e) {
47
+ const d = t.slice(0, n).trimEnd(), f = t.slice(n), m = [];
48
+ return d && m.push({ type: "text", value: d }), m.push({ type: "markdown", value: f }), m;
40
49
  }
41
50
  return [{ type: "markdown", value: t }];
42
51
  }
43
- const e = t.search(/<svg\b/i);
44
- if (n && e !== -1) {
45
- const l = t.slice(0, e), r = t.indexOf("</svg>", e), i = r === -1 ? `${t.slice(e)}</svg>` : t.slice(e, r + 6), d = r === -1 ? "" : t.slice(r + 6), u = [];
46
- return l.trim() && u.push({ type: "text", value: l }), u.push({ type: "markdown", value: i }), d.trim() && u.push(...g(d, !0)), u;
52
+ const s = t.search(/<svg\b/i), l = s !== -1 && (i === -1 || s <= i);
53
+ if (e && l) {
54
+ const r = t.slice(0, s), a = t.indexOf("</svg>", s), d = a === -1 ? `${t.slice(s)}</svg>` : t.slice(s, a + 6), f = a === -1 ? "" : t.slice(a + 6), m = [];
55
+ return r.trim() && m.push({ type: "text", value: r }), m.push({ type: "markdown", value: d }), f.trim() && m.push(...p(f, !0)), m;
47
56
  }
48
- if (e !== -1 && t.indexOf("</svg>", e) === -1)
57
+ if (l && t.indexOf("</svg>", s) === -1)
49
58
  return [{ type: "markdown", value: `${t}</svg>` }];
50
- const c = O(t);
59
+ const c = N(t);
51
60
  if (c) {
52
- const l = [], r = t.slice(0, c.start);
53
- n && r.trim() && l.push({ type: "text", value: r }), l.push({ type: "markdown", value: c.block });
54
- const i = t.slice(c.end), d = i.length < t.length;
55
- return i.trim() && d && l.push(
56
- ...n ? g(i, !0) : g(i)
57
- ), l;
61
+ if (!e)
62
+ return [{ type: "markdown", value: c.block }];
63
+ const r = [], a = t.slice(0, c.start);
64
+ a.trim() && r.push({ type: "text", value: a }), r.push({ type: "markdown", value: c.block });
65
+ const d = t.slice(c.end), f = d.length < t.length;
66
+ return d.trim() && f && r.push(...p(d, !0)), r;
58
67
  }
59
- if (t.match(/<svg[\s\S]*?<\/svg>/i) && n)
68
+ if (t.match(/<svg[\s\S]*?<\/svg>/i) && e && i === -1)
60
69
  return t.trim().toLowerCase().endsWith("</svg>") ? [{ type: "markdown", value: t }] : [{ type: "markdown", value: `${t}</svg>` }];
61
- const a = t.search(k), o = E(t);
62
- if (a === -1 && !o)
63
- return n && t.trim() ? [{ type: "text", value: t }] : [];
64
- const f = !!o && (a === -1 || o.start < a);
65
- if (!n)
70
+ const o = A(t);
71
+ if (i === -1 && !o)
72
+ return e && t.trim() ? [{ type: "text", value: t }] : [];
73
+ const h = !!o && (i === -1 || o.start < i);
74
+ if (!e)
66
75
  return [
67
76
  {
68
- type: f ? "markdown" : "sandbox",
77
+ type: h ? "markdown" : "sandbox",
69
78
  value: t
70
79
  }
71
80
  ];
72
- const v = f ? o.start : a, p = f ? o.end : I(t, v), h = [], b = t.slice(0, v), S = t.slice(v, p), x = t.slice(p);
73
- return n && b.trim() && h.push({ type: "text", value: b }), h.push({
74
- type: f ? "markdown" : "sandbox",
75
- value: S
76
- }), x.trim() && h.push(...g(x, n)), h;
81
+ const g = h ? o.start : i, S = h ? void 0 : t.slice(g).match(
82
+ /^<(script|style|link|iframe|html|head|body|meta|title|base|template|div|section|article|main)[\s>]/i
83
+ )?.[1], b = h ? o.end : O(t, g, S), v = [], x = t.slice(0, g), I = t.slice(g, b), y = t.slice(b);
84
+ return e && x.trim() && v.push({ type: "text", value: x }), v.push({
85
+ type: h ? "markdown" : "sandbox",
86
+ value: I
87
+ }), y.trim() && v.push(...p(y, e)), v;
77
88
  };
78
89
  export {
79
- g as splitContentSegments
90
+ p as splitContentSegments
80
91
  };
81
92
  //# sourceMappingURL=split-content.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"split-content.js","sources":["../../../../src/components/ContentRender/utils/split-content.ts"],"sourcesContent":["export type RenderSegment =\n | { type: \"markdown\"; value: string }\n | { type: \"sandbox\"; value: string }\n | { type: \"text\"; value: string };\n\nconst SANDBOX_START_PATTERN =\n /<(script|style|link|iframe|html|head|body|meta|title|base|template|div|section|article|main)[\\s>]/i;\n\nconst INLINE_SANDBOX_PATTERNS: RegExp[] = [\n /<svg[\\s\\S]*?<\\/svg>/i,\n /<img\\b[^>]*?>/i,\n /```mermaid[\\s\\S]*?```/i,\n /```[a-zA-Z0-9]+[\\s\\S]*?```/i,\n];\n\nconst closingBoundary = /<\\/[a-z][^>]*>\\s*\\n(?=[^\\s<])/gi;\n\ntype MatchResult = { start: number; end: number };\n\nconst findHtmlBlockEnd = (raw: string, startIndex: number) => {\n let blockEnd = raw.length;\n let match: RegExpExecArray | null;\n closingBoundary.lastIndex = 0;\n\n while ((match = closingBoundary.exec(raw))) {\n if (match.index <= startIndex) continue;\n blockEnd = match.index + match[0].length;\n break;\n }\n\n return blockEnd;\n};\n\nconst findInlineSandboxMatch = (raw: string): MatchResult | null => {\n let earliest: MatchResult | null = null;\n\n INLINE_SANDBOX_PATTERNS.forEach((pattern) => {\n const match = pattern.exec(raw);\n if (!match || typeof match.index !== \"number\") return;\n const start = match.index;\n const end = match.index + match[0].length;\n\n if (!earliest || start < earliest.start) {\n earliest = { start, end };\n }\n });\n\n return earliest;\n};\n\nconst extractTableBlock = (\n raw: string\n): { start: number; block: string; end: number } | null => {\n const tableMatch = raw.match(/^\\s*\\|.+\\|\\s*$/m);\n if (!tableMatch || typeof tableMatch.index !== \"number\") return null;\n\n const leadingSpaces = tableMatch[0].match(/^\\s*/)?.[0].length ?? 0;\n const tableStart = tableMatch.index + leadingSpaces;\n\n const lines = raw.slice(tableStart).split(\"\\n\");\n const tableLines: string[] = [];\n\n for (const line of lines) {\n const trimmed = line.trim();\n if (!trimmed.startsWith(\"|\")) break;\n tableLines.push(line);\n }\n\n const block = tableLines.join(\"\\n\");\n return { start: tableStart, block, end: tableStart + block.length };\n};\n\n// Split incoming markdown content into markdown and sandbox HTML segments\nexport const splitContentSegments = (\n raw: string,\n keepText = false\n): RenderSegment[] => {\n const fenceStart = raw.indexOf(\"```\");\n if (fenceStart !== -1) {\n const closingFence = raw.indexOf(\"```\", fenceStart + 3);\n if (closingFence === -1) {\n if (keepText) {\n const before = raw.slice(0, fenceStart);\n const beforeText = before.trimEnd();\n const fenceBlock = raw.slice(fenceStart);\n const segments: RenderSegment[] = [];\n if (beforeText) {\n segments.push({ type: \"text\", value: beforeText });\n }\n segments.push({ type: \"markdown\", value: fenceBlock });\n return segments;\n }\n return [{ type: \"markdown\", value: raw }];\n }\n }\n\n const svgOpenIndex = raw.search(/<svg\\b/i);\n if (keepText && svgOpenIndex !== -1) {\n const before = raw.slice(0, svgOpenIndex);\n const closeIdx = raw.indexOf(\"</svg>\", svgOpenIndex);\n const svgBlock =\n closeIdx === -1\n ? `${raw.slice(svgOpenIndex)}</svg>`\n : raw.slice(svgOpenIndex, closeIdx + \"</svg>\".length);\n const after = closeIdx === -1 ? \"\" : raw.slice(closeIdx + \"</svg>\".length);\n\n const segments: RenderSegment[] = [];\n if (before.trim()) {\n segments.push({ type: \"text\", value: before });\n }\n segments.push({ type: \"markdown\", value: svgBlock });\n if (after.trim()) {\n segments.push(...splitContentSegments(after, true));\n }\n return segments;\n }\n if (svgOpenIndex !== -1 && raw.indexOf(\"</svg>\", svgOpenIndex) === -1) {\n return [{ type: \"markdown\", value: `${raw}</svg>` }];\n }\n\n const tableBlock = extractTableBlock(raw);\n if (tableBlock) {\n const segments: RenderSegment[] = [];\n const before = raw.slice(0, tableBlock.start);\n if (keepText && before.trim()) {\n segments.push({ type: \"text\", value: before });\n }\n segments.push({ type: \"markdown\", value: tableBlock.block });\n const after = raw.slice(tableBlock.end);\n const hasProgress = after.length < raw.length;\n if (after.trim() && hasProgress) {\n segments.push(\n ...(keepText\n ? splitContentSegments(after, true)\n : splitContentSegments(after))\n );\n }\n return segments;\n }\n\n const completeSvgMatch = raw.match(/<svg[\\s\\S]*?<\\/svg>/i);\n if (completeSvgMatch && keepText) {\n if (!raw.trim().toLowerCase().endsWith(\"</svg>\")) {\n return [{ type: \"markdown\", value: `${raw}</svg>` }];\n }\n return [{ type: \"markdown\", value: raw }];\n }\n\n const sandboxStartIndex = raw.search(SANDBOX_START_PATTERN);\n const inlineMatch = findInlineSandboxMatch(raw);\n\n if (sandboxStartIndex === -1 && !inlineMatch) {\n if (keepText && raw.trim()) {\n return [{ type: \"text\", value: raw }];\n }\n return [];\n }\n\n const shouldUseInline =\n !!inlineMatch &&\n (sandboxStartIndex === -1 || inlineMatch.start < sandboxStartIndex);\n\n if (!keepText) {\n return [\n {\n type: shouldUseInline ? \"markdown\" : \"sandbox\",\n value: raw,\n },\n ];\n }\n\n const startIndex = shouldUseInline ? inlineMatch!.start : sandboxStartIndex;\n const blockEnd = shouldUseInline\n ? inlineMatch!.end\n : findHtmlBlockEnd(raw, startIndex);\n\n const segments: RenderSegment[] = [];\n const before = raw.slice(0, startIndex);\n const matchedBlock = raw.slice(startIndex, blockEnd);\n const after = raw.slice(blockEnd);\n\n if (keepText && before.trim()) {\n segments.push({ type: \"text\", value: before });\n }\n\n segments.push({\n type: shouldUseInline ? \"markdown\" : \"sandbox\",\n value: matchedBlock,\n });\n\n if (after.trim()) {\n segments.push(...splitContentSegments(after, keepText));\n }\n\n return segments;\n};\n"],"names":["SANDBOX_START_PATTERN","INLINE_SANDBOX_PATTERNS","closingBoundary","findHtmlBlockEnd","raw","startIndex","blockEnd","match","findInlineSandboxMatch","earliest","pattern","start","end","extractTableBlock","tableMatch","leadingSpaces","tableStart","lines","tableLines","line","block","splitContentSegments","keepText","fenceStart","beforeText","fenceBlock","segments","svgOpenIndex","before","closeIdx","svgBlock","after","tableBlock","hasProgress","sandboxStartIndex","inlineMatch","shouldUseInline","matchedBlock"],"mappings":"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"}
1
+ {"version":3,"file":"split-content.js","sources":["../../../../src/components/ContentRender/utils/split-content.ts"],"sourcesContent":["export type RenderSegment =\n | { type: \"markdown\"; value: string }\n | { type: \"sandbox\"; value: string }\n | { type: \"text\"; value: string };\n\nconst SANDBOX_START_PATTERN =\n /<(script|style|link|iframe|html|head|body|meta|title|base|template|div|section|article|main)[\\s>]/i;\n\nconst INLINE_SANDBOX_PATTERNS: RegExp[] = [\n /<svg[\\s\\S]*?<\\/svg>/i,\n /<img\\b[^>]*?>/i,\n /```mermaid[\\s\\S]*?```/i,\n /```[a-zA-Z0-9]+[\\s\\S]*?```/i,\n];\n\nconst closingBoundary = /<\\/[a-z][^>]*>/gi;\n\ntype MatchResult = { start: number; end: number };\n\nconst findHtmlBlockEnd = (\n raw: string,\n startIndex: number,\n tagName?: string\n) => {\n if (tagName) {\n const lower = raw.toLowerCase();\n const endTag = `</${tagName.toLowerCase()}>`;\n const closeIdx = lower.indexOf(endTag, startIndex);\n if (closeIdx !== -1) {\n let blockEnd = closeIdx + endTag.length;\n while (blockEnd < raw.length && /\\s/.test(raw[blockEnd])) {\n blockEnd += 1;\n }\n return blockEnd;\n }\n }\n\n let blockEnd = raw.length;\n let match: RegExpExecArray | null;\n closingBoundary.lastIndex = 0;\n\n while ((match = closingBoundary.exec(raw))) {\n if (match.index <= startIndex) continue;\n blockEnd = match.index + match[0].length;\n break;\n }\n\n return blockEnd;\n};\n\nconst findInlineSandboxMatch = (raw: string): MatchResult | null => {\n let earliest: MatchResult | null = null;\n\n INLINE_SANDBOX_PATTERNS.forEach((pattern) => {\n const match = pattern.exec(raw);\n if (!match || typeof match.index !== \"number\") return;\n const start = match.index;\n const end = match.index + match[0].length;\n\n if (!earliest || start < earliest.start) {\n earliest = { start, end };\n }\n });\n\n return earliest;\n};\n\nconst extractTableBlock = (\n raw: string\n): { start: number; block: string; end: number } | null => {\n const tableMatch = raw.match(/^\\s*\\|.+\\|\\s*$/m);\n if (!tableMatch || typeof tableMatch.index !== \"number\") return null;\n\n const leadingSpaces = tableMatch[0].match(/^\\s*/)?.[0].length ?? 0;\n const tableStart = tableMatch.index + leadingSpaces;\n\n const lines = raw.slice(tableStart).split(\"\\n\");\n const tableLines: string[] = [];\n\n for (const line of lines) {\n const trimmed = line.trim();\n if (!trimmed.startsWith(\"|\")) break;\n tableLines.push(line);\n }\n\n const block = tableLines.join(\"\\n\");\n return { start: tableStart, block, end: tableStart + block.length };\n};\n\n// Split incoming markdown content into markdown and sandbox HTML segments\nexport const splitContentSegments = (\n raw: string,\n keepText = false\n): RenderSegment[] => {\n const sandboxStartIndex = raw.search(SANDBOX_START_PATTERN);\n const fenceStart = raw.indexOf(\"```\");\n if (fenceStart !== -1) {\n const closingFence = raw.indexOf(\"```\", fenceStart + 3);\n if (closingFence === -1) {\n if (keepText) {\n const before = raw.slice(0, fenceStart);\n const beforeText = before.trimEnd();\n const fenceBlock = raw.slice(fenceStart);\n const segments: RenderSegment[] = [];\n if (beforeText) {\n segments.push({ type: \"text\", value: beforeText });\n }\n segments.push({ type: \"markdown\", value: fenceBlock });\n return segments;\n }\n return [{ type: \"markdown\", value: raw }];\n }\n }\n\n const svgOpenIndex = raw.search(/<svg\\b/i);\n const canHandleInlineSvg =\n svgOpenIndex !== -1 &&\n (sandboxStartIndex === -1 || svgOpenIndex <= sandboxStartIndex);\n\n if (keepText && canHandleInlineSvg) {\n const before = raw.slice(0, svgOpenIndex);\n const closeIdx = raw.indexOf(\"</svg>\", svgOpenIndex);\n const svgBlock =\n closeIdx === -1\n ? `${raw.slice(svgOpenIndex)}</svg>`\n : raw.slice(svgOpenIndex, closeIdx + \"</svg>\".length);\n const after = closeIdx === -1 ? \"\" : raw.slice(closeIdx + \"</svg>\".length);\n\n const segments: RenderSegment[] = [];\n if (before.trim()) {\n segments.push({ type: \"text\", value: before });\n }\n segments.push({ type: \"markdown\", value: svgBlock });\n if (after.trim()) {\n segments.push(...splitContentSegments(after, true));\n }\n return segments;\n }\n if (canHandleInlineSvg && raw.indexOf(\"</svg>\", svgOpenIndex) === -1) {\n return [{ type: \"markdown\", value: `${raw}</svg>` }];\n }\n\n const tableBlock = extractTableBlock(raw);\n if (tableBlock) {\n if (!keepText) {\n return [{ type: \"markdown\", value: tableBlock.block }];\n }\n\n const segments: RenderSegment[] = [];\n const before = raw.slice(0, tableBlock.start);\n if (before.trim()) {\n segments.push({ type: \"text\", value: before });\n }\n segments.push({ type: \"markdown\", value: tableBlock.block });\n const after = raw.slice(tableBlock.end);\n const hasProgress = after.length < raw.length;\n if (after.trim() && hasProgress) {\n segments.push(...splitContentSegments(after, true));\n }\n return segments;\n }\n\n const completeSvgMatch = raw.match(/<svg[\\s\\S]*?<\\/svg>/i);\n if (completeSvgMatch && keepText && sandboxStartIndex === -1) {\n if (!raw.trim().toLowerCase().endsWith(\"</svg>\")) {\n return [{ type: \"markdown\", value: `${raw}</svg>` }];\n }\n return [{ type: \"markdown\", value: raw }];\n }\n\n const inlineMatch = findInlineSandboxMatch(raw);\n\n if (sandboxStartIndex === -1 && !inlineMatch) {\n if (keepText && raw.trim()) {\n return [{ type: \"text\", value: raw }];\n }\n return [];\n }\n\n const shouldUseInline =\n !!inlineMatch &&\n (sandboxStartIndex === -1 || inlineMatch.start < sandboxStartIndex);\n\n if (!keepText) {\n return [\n {\n type: shouldUseInline ? \"markdown\" : \"sandbox\",\n value: raw,\n },\n ];\n }\n\n const startIndex = shouldUseInline ? inlineMatch!.start : sandboxStartIndex;\n const tagName = shouldUseInline\n ? undefined\n : raw\n .slice(startIndex)\n .match(\n /^<(script|style|link|iframe|html|head|body|meta|title|base|template|div|section|article|main)[\\s>]/i\n )?.[1];\n const blockEnd = shouldUseInline\n ? inlineMatch!.end\n : findHtmlBlockEnd(raw, startIndex, tagName);\n\n const segments: RenderSegment[] = [];\n const before = raw.slice(0, startIndex);\n const matchedBlock = raw.slice(startIndex, blockEnd);\n const after = raw.slice(blockEnd);\n\n if (keepText && before.trim()) {\n segments.push({ type: \"text\", value: before });\n }\n\n segments.push({\n type: shouldUseInline ? \"markdown\" : \"sandbox\",\n value: matchedBlock,\n });\n\n if (after.trim()) {\n segments.push(...splitContentSegments(after, keepText));\n }\n\n return segments;\n};\n"],"names":["SANDBOX_START_PATTERN","INLINE_SANDBOX_PATTERNS","closingBoundary","findHtmlBlockEnd","raw","startIndex","tagName","lower","endTag","closeIdx","blockEnd","match","findInlineSandboxMatch","earliest","pattern","start","end","extractTableBlock","tableMatch","leadingSpaces","tableStart","lines","tableLines","line","block","splitContentSegments","keepText","sandboxStartIndex","fenceStart","beforeText","fenceBlock","segments","svgOpenIndex","canHandleInlineSvg","before","svgBlock","after","tableBlock","hasProgress","inlineMatch","shouldUseInline","matchedBlock"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { j as i } from "../../../_virtual/jsx-runtime.js";
2
2
  import * as d from "react";
3
3
  import n from "../../../Documents/ai-shifu/markdown-flow-ui/node_modules/.pnpm/rc-textarea@1.10.2_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-textarea/es/TextArea.js";
4
- import "../../../_virtual/index3.js";
4
+ import "../../../_virtual/index4.js";
5
5
  import "../../../Documents/ai-shifu/markdown-flow-ui/node_modules/.pnpm/rc-resize-observer@1.4.3_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-resize-observer/es/index.js";
6
6
  import "../../../Documents/ai-shifu/markdown-flow-ui/node_modules/.pnpm/rc-util@5.44.4_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-util/es/hooks/useLayoutEffect.js";
7
7
  import "../../../Documents/ai-shifu/markdown-flow-ui/node_modules/.pnpm/rc-util@5.44.4_react-dom@19.0.1_react@19.0.1__react@19.0.1/node_modules/rc-util/es/raf.js";
package/package.json CHANGED
@@ -149,7 +149,7 @@
149
149
  "storybook": "storybook dev -p 6006",
150
150
  "test": "echo \"No tests specified\" && exit 0"
151
151
  },
152
- "version": "0.1.83-beta.18",
152
+ "version": "0.1.83-beta.19",
153
153
  "type": "module",
154
154
  "exports": {
155
155
  ".": {