react-ai-renderer 0.1.1 → 0.1.2

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 (119) hide show
  1. package/dist/MermaidRenderer-0ef71453.js +170 -0
  2. package/dist/{MermaidRenderer-cdeab8f8.js.map → MermaidRenderer-0ef71453.js.map} +1 -1
  3. package/dist/MermaidRenderer-13e4a89a.js +172 -0
  4. package/dist/{MermaidRenderer-1f4c47aa.js.map → MermaidRenderer-13e4a89a.js.map} +1 -1
  5. package/dist/MermaidRenderer-321bfe50.js +170 -0
  6. package/dist/MermaidRenderer-321bfe50.js.map +1 -0
  7. package/dist/MermaidRenderer-325a9dee.js +170 -0
  8. package/dist/MermaidRenderer-325a9dee.js.map +1 -0
  9. package/dist/MermaidRenderer-4bae11d6.js +170 -0
  10. package/dist/MermaidRenderer-4bae11d6.js.map +1 -0
  11. package/dist/MermaidRenderer-6237d7da.js +170 -0
  12. package/dist/MermaidRenderer-6237d7da.js.map +1 -0
  13. package/dist/MermaidRenderer-653a4dab.js +172 -0
  14. package/dist/MermaidRenderer-653a4dab.js.map +1 -0
  15. package/dist/MermaidRenderer-67edae8e.js +172 -0
  16. package/dist/MermaidRenderer-67edae8e.js.map +1 -0
  17. package/dist/MermaidRenderer-6f071d8e.js +170 -0
  18. package/dist/MermaidRenderer-6f071d8e.js.map +1 -0
  19. package/dist/MermaidRenderer-75832c15.js +172 -0
  20. package/dist/MermaidRenderer-75832c15.js.map +1 -0
  21. package/dist/MermaidRenderer-7cb138d1.js +170 -0
  22. package/dist/MermaidRenderer-7cb138d1.js.map +1 -0
  23. package/dist/MermaidRenderer-8a8fb725.js +172 -0
  24. package/dist/MermaidRenderer-8a8fb725.js.map +1 -0
  25. package/dist/MermaidRenderer-91a0a7d8.js +170 -0
  26. package/dist/MermaidRenderer-91a0a7d8.js.map +1 -0
  27. package/dist/MermaidRenderer-9ff856f3.js +172 -0
  28. package/dist/MermaidRenderer-9ff856f3.js.map +1 -0
  29. package/dist/{MermaidRenderer-1f4c47aa.js → MermaidRenderer-a25ae84f.js} +1 -1
  30. package/dist/MermaidRenderer-a25ae84f.js.map +1 -0
  31. package/dist/MermaidRenderer-c3014102.js +172 -0
  32. package/dist/MermaidRenderer-c3014102.js.map +1 -0
  33. package/dist/MermaidRenderer-c664aa66.js +170 -0
  34. package/dist/MermaidRenderer-c664aa66.js.map +1 -0
  35. package/dist/MermaidRenderer-d1518f28.js +172 -0
  36. package/dist/MermaidRenderer-d1518f28.js.map +1 -0
  37. package/dist/MermaidRenderer-d7545a7e.js +172 -0
  38. package/dist/MermaidRenderer-d7545a7e.js.map +1 -0
  39. package/dist/{MermaidRenderer-cdeab8f8.js → MermaidRenderer-d8836800.js} +1 -1
  40. package/dist/MermaidRenderer-d8836800.js.map +1 -0
  41. package/dist/MermaidRenderer-d9c8351a.js +172 -0
  42. package/dist/MermaidRenderer-d9c8351a.js.map +1 -0
  43. package/dist/MermaidRenderer-dc0ac92e.js +170 -0
  44. package/dist/MermaidRenderer-dc0ac92e.js.map +1 -0
  45. package/dist/MermaidRenderer-e549ab85.js +172 -0
  46. package/dist/MermaidRenderer-e549ab85.js.map +1 -0
  47. package/dist/MermaidRenderer-e5d81a6f.js +172 -0
  48. package/dist/MermaidRenderer-e5d81a6f.js.map +1 -0
  49. package/dist/MermaidRenderer-e82f36e4.js +172 -0
  50. package/dist/MermaidRenderer-e82f36e4.js.map +1 -0
  51. package/dist/MermaidRenderer-f04366c1.js +170 -0
  52. package/dist/MermaidRenderer-f04366c1.js.map +1 -0
  53. package/dist/MermaidRenderer-f6473da3.js +170 -0
  54. package/dist/MermaidRenderer-f6473da3.js.map +1 -0
  55. package/dist/MermaidRenderer-f82d0d11.js +170 -0
  56. package/dist/MermaidRenderer-f82d0d11.js.map +1 -0
  57. package/dist/index-02f4473f.js +1313 -0
  58. package/dist/index-02f4473f.js.map +1 -0
  59. package/dist/index-172582eb.js +1294 -0
  60. package/dist/index-172582eb.js.map +1 -0
  61. package/dist/index-1d051ba8.js +1286 -0
  62. package/dist/index-1d051ba8.js.map +1 -0
  63. package/dist/{index-1e589dfb.js → index-283b43ef.js} +279 -211
  64. package/dist/index-283b43ef.js.map +1 -0
  65. package/dist/index-2d979ad5.js +1314 -0
  66. package/dist/index-2d979ad5.js.map +1 -0
  67. package/dist/index-349401d2.js +1288 -0
  68. package/dist/index-349401d2.js.map +1 -0
  69. package/dist/index-398258c5.js +1314 -0
  70. package/dist/index-398258c5.js.map +1 -0
  71. package/dist/index-3cf82be4.js +1287 -0
  72. package/dist/index-3cf82be4.js.map +1 -0
  73. package/dist/index-3de28f18.js +1319 -0
  74. package/dist/index-3de28f18.js.map +1 -0
  75. package/dist/index-415b51ad.js +1296 -0
  76. package/dist/index-415b51ad.js.map +1 -0
  77. package/dist/{index-c0f5a1e9.js → index-4592abf8.js} +279 -210
  78. package/dist/index-4592abf8.js.map +1 -0
  79. package/dist/index-4edeb553.js +1313 -0
  80. package/dist/index-4edeb553.js.map +1 -0
  81. package/dist/index-534d3bce.js +1312 -0
  82. package/dist/index-534d3bce.js.map +1 -0
  83. package/dist/index-6ceb7256.js +1287 -0
  84. package/dist/index-6ceb7256.js.map +1 -0
  85. package/dist/index-7e8dc866.js +1304 -0
  86. package/dist/index-7e8dc866.js.map +1 -0
  87. package/dist/index-896de550.js +1313 -0
  88. package/dist/index-896de550.js.map +1 -0
  89. package/dist/index-8dbf398a.js +1313 -0
  90. package/dist/index-8dbf398a.js.map +1 -0
  91. package/dist/index-922bbd30.js +1339 -0
  92. package/dist/index-922bbd30.js.map +1 -0
  93. package/dist/index-a5a2c748.js +1288 -0
  94. package/dist/index-a5a2c748.js.map +1 -0
  95. package/dist/index-abed2ed7.js +1286 -0
  96. package/dist/index-abed2ed7.js.map +1 -0
  97. package/dist/index-ae31bd04.js +1312 -0
  98. package/dist/index-ae31bd04.js.map +1 -0
  99. package/dist/index-b0cab34f.js +1287 -0
  100. package/dist/index-b0cab34f.js.map +1 -0
  101. package/dist/index-bb96fdaf.js +1322 -0
  102. package/dist/index-bb96fdaf.js.map +1 -0
  103. package/dist/index-c0acef6b.js +1330 -0
  104. package/dist/index-c0acef6b.js.map +1 -0
  105. package/dist/index-c6ab333d.js +1293 -0
  106. package/dist/index-c6ab333d.js.map +1 -0
  107. package/dist/index-d4f12a68.js +1287 -0
  108. package/dist/index-d4f12a68.js.map +1 -0
  109. package/dist/index-e07ca144.js +1320 -0
  110. package/dist/index-e07ca144.js.map +1 -0
  111. package/dist/index-fdaa9757.js +1313 -0
  112. package/dist/index-fdaa9757.js.map +1 -0
  113. package/dist/index.d.ts +25 -5
  114. package/dist/index.es.js +1 -1
  115. package/dist/index.js +2 -1
  116. package/dist/index.js.map +1 -1
  117. package/package.json +1 -1
  118. package/dist/index-1e589dfb.js.map +0 -1
  119. package/dist/index-c0f5a1e9.js.map +0 -1
@@ -9,168 +9,17 @@ import { run, compile } from '@mdx-js/mdx';
9
9
  import RehypeKatex from 'rehype-katex';
10
10
  import RehypeHighlight from 'rehype-highlight';
11
11
 
12
- /******************************************************************************
13
- Copyright (c) Microsoft Corporation.
14
-
15
- Permission to use, copy, modify, and/or distribute this software for any
16
- purpose with or without fee is hereby granted.
17
-
18
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
19
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
20
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
21
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
22
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
23
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
24
- PERFORMANCE OF THIS SOFTWARE.
25
- ***************************************************************************** */
26
- /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
27
-
28
- var extendStatics = function(d, b) {
29
- extendStatics = Object.setPrototypeOf ||
30
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
31
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
32
- return extendStatics(d, b);
33
- };
34
-
35
- function __extends(d, b) {
36
- if (typeof b !== "function" && b !== null)
37
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
38
- extendStatics(d, b);
39
- function __() { this.constructor = d; }
40
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
41
- }
42
-
43
- var __assign = function() {
44
- __assign = Object.assign || function __assign(t) {
45
- for (var s, i = 1, n = arguments.length; i < n; i++) {
46
- s = arguments[i];
47
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
48
- }
49
- return t;
50
- };
51
- return __assign.apply(this, arguments);
52
- };
53
-
54
- function __rest(s, e) {
55
- var t = {};
56
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
57
- t[p] = s[p];
58
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
59
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
60
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
61
- t[p[i]] = s[p[i]];
62
- }
63
- return t;
64
- }
65
-
66
- function __awaiter(thisArg, _arguments, P, generator) {
67
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
68
- return new (P || (P = Promise))(function (resolve, reject) {
69
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
70
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
71
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
72
- step((generator = generator.apply(thisArg, _arguments || [])).next());
73
- });
74
- }
75
-
76
- function __generator(thisArg, body) {
77
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
78
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
79
- function verb(n) { return function (v) { return step([n, v]); }; }
80
- function step(op) {
81
- if (f) throw new TypeError("Generator is already executing.");
82
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
83
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
84
- if (y = 0, t) op = [op[0] & 2, t.value];
85
- switch (op[0]) {
86
- case 0: case 1: t = op; break;
87
- case 4: _.label++; return { value: op[1], done: false };
88
- case 5: _.label++; y = op[1]; op = [0]; continue;
89
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
90
- default:
91
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
92
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
93
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
94
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
95
- if (t[2]) _.ops.pop();
96
- _.trys.pop(); continue;
97
- }
98
- op = body.call(thisArg, _);
99
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
100
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
101
- }
102
- }
103
-
104
- function __values(o) {
105
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
106
- if (m) return m.call(o);
107
- if (o && typeof o.length === "number") return {
108
- next: function () {
109
- if (o && i >= o.length) o = void 0;
110
- return { value: o && o[i++], done: !o };
111
- }
112
- };
113
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
114
- }
115
-
116
- function __read(o, n) {
117
- var m = typeof Symbol === "function" && o[Symbol.iterator];
118
- if (!m) return o;
119
- var i = m.call(o), r, ar = [], e;
120
- try {
121
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
122
- }
123
- catch (error) { e = { error: error }; }
124
- finally {
125
- try {
126
- if (r && !r.done && (m = i["return"])) m.call(i);
127
- }
128
- finally { if (e) throw e.error; }
129
- }
130
- return ar;
131
- }
132
-
133
- function __spreadArray(to, from, pack) {
134
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
135
- if (ar || !(i in from)) {
136
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
137
- ar[i] = from[i];
138
- }
139
- }
140
- return to.concat(ar || Array.prototype.slice.call(from));
141
- }
142
-
143
- typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
144
- var e = new Error(message);
145
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
146
- };
147
-
148
12
  var MDXStreamingParser = /** @class */function () {
149
13
  function MDXStreamingParser(components) {
150
- this.registeredComponents = new Set(components);
14
+ // 将组件名称存储在Set中,而不是整个组件对象
15
+ this.registeredComponents = new Set(components.map(function (c) {
16
+ return c.name;
17
+ }));
151
18
  this.messages = new Map();
152
19
  }
153
- MDXStreamingParser.prototype.findComponentByName = function (name) {
154
- var e_1, _a;
155
- try {
156
- for (var _b = __values(this.registeredComponents), _c = _b.next(); !_c.done; _c = _b.next()) {
157
- var component = _c.value;
158
- if (component.name === name) {
159
- return component;
160
- }
161
- }
162
- } catch (e_1_1) {
163
- e_1 = {
164
- error: e_1_1
165
- };
166
- } finally {
167
- try {
168
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
169
- } finally {
170
- if (e_1) throw e_1.error;
171
- }
172
- }
173
- return undefined; // Return undefined if no component is found
20
+ // 检查组件是否已注册
21
+ MDXStreamingParser.prototype.isComponentRegistered = function (name) {
22
+ return this.registeredComponents.has(name);
174
23
  };
175
24
  MDXStreamingParser.prototype.parse = function (messageId, input) {
176
25
  var state = {
@@ -191,9 +40,10 @@ var MDXStreamingParser = /** @class */function () {
191
40
  break;
192
41
  }
193
42
  var tagName = input.slice(i + 2, closeTagEnd);
194
- var registerComponentInfo = this.findComponentByName(tagName);
43
+ // 检查组件是否已注册
44
+ var isRegistered = this.isComponentRegistered(tagName);
195
45
  // 如果组件未注册,则作为文本处理
196
- if (!registerComponentInfo) {
46
+ if (!isRegistered) {
197
47
  state.buffer += input.slice(i, closeTagEnd + 1);
198
48
  i = closeTagEnd + 1;
199
49
  continue;
@@ -228,9 +78,10 @@ var MDXStreamingParser = /** @class */function () {
228
78
  if (tagMatch) {
229
79
  // Handle accumulated text before the tag
230
80
  var componentName = tagMatch[1];
231
- var registerComponentInfo = this.findComponentByName(componentName);
81
+ // 检查组件是否已注册
82
+ var isRegistered = this.isComponentRegistered(componentName);
232
83
  // 如果组件未注册,将整个标签作为文本处理
233
- if (!registerComponentInfo) {
84
+ if (!isRegistered) {
234
85
  state.buffer += input[i];
235
86
  i++;
236
87
  continue;
@@ -258,20 +109,16 @@ var MDXStreamingParser = /** @class */function () {
258
109
  });
259
110
  }
260
111
  state.buffer = '';
261
- // const componentName = tagMatch[1];
262
- var selfClosing = false;
263
- // const registerComponentInfo = this.findComponentByName(componentName);
264
- if (registerComponentInfo) {
265
- selfClosing = registerComponentInfo.selfClosing;
266
- }
267
- var _a = this.parseComponentTag(input.slice(i), selfClosing),
112
+ // 动态解析标签形式,不再依赖预先注册的 selfClosing 属性
113
+ var _a = this.parseComponentTag(input.slice(i)),
268
114
  props = _a.props,
269
- endIndex = _a.endIndex;
115
+ endIndex = _a.endIndex,
116
+ selfClosing = _a.selfClosing;
270
117
  var component = {
271
118
  type: "component",
272
119
  value: componentName,
273
120
  props: props,
274
- selfClosing: selfClosing
121
+ selfClosing: selfClosing // 使用实际解析出的标签形式
275
122
  };
276
123
  if (!selfClosing) {
277
124
  state.stack.push(component);
@@ -362,22 +209,21 @@ var MDXStreamingParser = /** @class */function () {
362
209
  }
363
210
  return input.length;
364
211
  };
365
- MDXStreamingParser.prototype.parseComponentTag = function (input, selfClosing) {
212
+ MDXStreamingParser.prototype.parseComponentTag = function (input) {
366
213
  var props = {};
367
214
  var i = 0;
368
215
  // 跳过组件名
369
216
  while (i < input.length && input[i] !== ' ' && input[i] !== '>') i++;
370
- if (!selfClosing) {
371
- return this.parsePropsCommon(input);
372
- }
373
- // 使用 parseProps 方法解析属性
374
- var propsContent = input.slice(i);
375
- var parsedProps = this.parsePropsSelfClosing(propsContent);
217
+ // 使用 parsePropsCommon 方法解析属性,该方法会返回标签形式信息
218
+ var _a = this.parsePropsCommon(input),
219
+ parsedProps = _a.props,
220
+ endIndex = _a.endIndex,
221
+ selfClosing = _a.selfClosing;
376
222
  Object.assign(props, parsedProps);
377
- var endIndex = this.findComponentClose(input, i);
378
223
  return {
379
224
  props: props,
380
- endIndex: endIndex
225
+ endIndex: endIndex,
226
+ selfClosing: selfClosing
381
227
  };
382
228
  };
383
229
  MDXStreamingParser.prototype.parsePropsCommon = function (input) {
@@ -517,6 +363,142 @@ var MDXStreamingParser = /** @class */function () {
517
363
  return MDXStreamingParser;
518
364
  }();
519
365
 
366
+ /******************************************************************************
367
+ Copyright (c) Microsoft Corporation.
368
+
369
+ Permission to use, copy, modify, and/or distribute this software for any
370
+ purpose with or without fee is hereby granted.
371
+
372
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
373
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
374
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
375
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
376
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
377
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
378
+ PERFORMANCE OF THIS SOFTWARE.
379
+ ***************************************************************************** */
380
+ /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
381
+
382
+ var extendStatics = function(d, b) {
383
+ extendStatics = Object.setPrototypeOf ||
384
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
385
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
386
+ return extendStatics(d, b);
387
+ };
388
+
389
+ function __extends(d, b) {
390
+ if (typeof b !== "function" && b !== null)
391
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
392
+ extendStatics(d, b);
393
+ function __() { this.constructor = d; }
394
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
395
+ }
396
+
397
+ var __assign = function() {
398
+ __assign = Object.assign || function __assign(t) {
399
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
400
+ s = arguments[i];
401
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
402
+ }
403
+ return t;
404
+ };
405
+ return __assign.apply(this, arguments);
406
+ };
407
+
408
+ function __rest(s, e) {
409
+ var t = {};
410
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
411
+ t[p] = s[p];
412
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
413
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
414
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
415
+ t[p[i]] = s[p[i]];
416
+ }
417
+ return t;
418
+ }
419
+
420
+ function __awaiter(thisArg, _arguments, P, generator) {
421
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
422
+ return new (P || (P = Promise))(function (resolve, reject) {
423
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
424
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
425
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
426
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
427
+ });
428
+ }
429
+
430
+ function __generator(thisArg, body) {
431
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
432
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
433
+ function verb(n) { return function (v) { return step([n, v]); }; }
434
+ function step(op) {
435
+ if (f) throw new TypeError("Generator is already executing.");
436
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
437
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
438
+ if (y = 0, t) op = [op[0] & 2, t.value];
439
+ switch (op[0]) {
440
+ case 0: case 1: t = op; break;
441
+ case 4: _.label++; return { value: op[1], done: false };
442
+ case 5: _.label++; y = op[1]; op = [0]; continue;
443
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
444
+ default:
445
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
446
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
447
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
448
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
449
+ if (t[2]) _.ops.pop();
450
+ _.trys.pop(); continue;
451
+ }
452
+ op = body.call(thisArg, _);
453
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
454
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
455
+ }
456
+ }
457
+
458
+ function __values(o) {
459
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
460
+ if (m) return m.call(o);
461
+ if (o && typeof o.length === "number") return {
462
+ next: function () {
463
+ if (o && i >= o.length) o = void 0;
464
+ return { value: o && o[i++], done: !o };
465
+ }
466
+ };
467
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
468
+ }
469
+
470
+ function __read(o, n) {
471
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
472
+ if (!m) return o;
473
+ var i = m.call(o), r, ar = [], e;
474
+ try {
475
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
476
+ }
477
+ catch (error) { e = { error: error }; }
478
+ finally {
479
+ try {
480
+ if (r && !r.done && (m = i["return"])) m.call(i);
481
+ }
482
+ finally { if (e) throw e.error; }
483
+ }
484
+ return ar;
485
+ }
486
+
487
+ function __spreadArray(to, from, pack) {
488
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
489
+ if (ar || !(i in from)) {
490
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
491
+ ar[i] = from[i];
492
+ }
493
+ }
494
+ return to.concat(ar || Array.prototype.slice.call(from));
495
+ }
496
+
497
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
498
+ var e = new Error(message);
499
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
500
+ };
501
+
520
502
  var CodeHighlight = function (_a) {
521
503
  var textContent = _a.textContent,
522
504
  _b = _a.language,
@@ -567,7 +549,7 @@ var CodeHighlight = function (_a) {
567
549
  if (language === "mermaid") {
568
550
  // 动态导入 MermaidRenderer 组件
569
551
  var MermaidRenderer = /*#__PURE__*/React__default.lazy(function () {
570
- return import('./MermaidRenderer-cdeab8f8.js').catch(function () {
552
+ return import('./MermaidRenderer-91a0a7d8.js').catch(function () {
571
553
  return {
572
554
  default: function () {
573
555
  return /*#__PURE__*/jsx("div", {});
@@ -770,10 +752,35 @@ var AComponent = function (aProps) {
770
752
  var href = aProps.href || "";
771
753
  var isInternal = /^\/#/i.test(href);
772
754
  var target = isInternal ? "_self" : (_a = aProps.target) !== null && _a !== void 0 ? _a : "_blank";
755
+ // 增强链接样式,使其更加明显
756
+ var linkStyle = {
757
+ color: '#1a73e8',
758
+ fontWeight: '600',
759
+ borderBottom: '2px solid #1a73e8',
760
+ paddingBottom: '2px',
761
+ transition: 'all 0.2s ease'
762
+ };
763
+ // 鼠标悬停效果
764
+ var hoverStyle = {
765
+ color: '#0d47a1',
766
+ borderBottom: '2px solid #0d47a1',
767
+ backgroundColor: 'rgba(26, 115, 232, 0.1)'
768
+ };
769
+ // 合并原有属性和新样式
773
770
  return /*#__PURE__*/jsx("a", {
774
- color: "red",
775
771
  ...aProps,
776
- target: target
772
+ target: target,
773
+ style: __assign(__assign({}, linkStyle), aProps.style),
774
+ onMouseEnter: function (e) {
775
+ var target = e.target;
776
+ Object.assign(target.style, hoverStyle);
777
+ aProps.onMouseEnter && aProps.onMouseEnter(e);
778
+ },
779
+ onMouseLeave: function (e) {
780
+ var target = e.target;
781
+ Object.assign(target.style, linkStyle);
782
+ aProps.onMouseLeave && aProps.onMouseLeave(e);
783
+ }
777
784
  });
778
785
  };
779
786
  // Pre 组件
@@ -897,11 +904,12 @@ function formatProps(props) {
897
904
  }
898
905
  function renderMdx(mdxContent, scope, registeredComponents) {
899
906
  return __awaiter(this, void 0, void 0, function () {
900
- var componentTagRegex, usedComponents, match, vf, XComponent, e_1;
901
- return __generator(this, function (_a) {
902
- switch (_a.label) {
907
+ var componentTagRegex, usedComponents, match, _registeredComponents, usedComponents_1, usedComponents_1_1, component, vf, XComponent;
908
+ var e_2, _a;
909
+ return __generator(this, function (_b) {
910
+ switch (_b.label) {
903
911
  case 0:
904
- _a.trys.push([0, 3,, 4]);
912
+ _b.trys.push([0, 3,, 4]);
905
913
  renderTimer && clearTimeout(renderTimer);
906
914
  componentTagRegex = /<([A-Z][a-zA-Z]*)\b/g;
907
915
  usedComponents = new Set();
@@ -909,6 +917,25 @@ function renderMdx(mdxContent, scope, registeredComponents) {
909
917
  while ((match = componentTagRegex.exec(mdxContent)) !== null) {
910
918
  usedComponents.add(match[1]);
911
919
  }
920
+ _registeredComponents = new Set(Object.keys(registeredComponents));
921
+ try {
922
+ for (usedComponents_1 = __values(usedComponents), usedComponents_1_1 = usedComponents_1.next(); !usedComponents_1_1.done; usedComponents_1_1 = usedComponents_1.next()) {
923
+ component = usedComponents_1_1.value;
924
+ if (!_registeredComponents.has(component)) {
925
+ throw new Error("Component ".concat(component, " is used but not registered in the components object."));
926
+ }
927
+ }
928
+ } catch (e_2_1) {
929
+ e_2 = {
930
+ error: e_2_1
931
+ };
932
+ } finally {
933
+ try {
934
+ if (usedComponents_1_1 && !usedComponents_1_1.done && (_a = usedComponents_1.return)) _a.call(usedComponents_1);
935
+ } finally {
936
+ if (e_2) throw e_2.error;
937
+ }
938
+ }
912
939
  return [4 /*yield*/, compile(mdxContent, {
913
940
  outputFormat: "function-body",
914
941
  remarkPlugins: [[RemarkMath, {
@@ -921,25 +948,22 @@ function renderMdx(mdxContent, scope, registeredComponents) {
921
948
  }]]
922
949
  })];
923
950
  case 1:
924
- vf = _a.sent();
951
+ vf = _b.sent();
925
952
  return [4 /*yield*/, run(vf, __assign(__assign(__assign({}, runtime), scope), {
926
953
  Fragment: MdxLayout
927
954
  }))];
928
955
  case 2:
929
- XComponent = _a.sent().default;
956
+ XComponent = _b.sent().default;
930
957
  return [2 /*return*/, /*#__PURE__*/React.createElement(XComponent, {
931
958
  components: registeredComponents,
932
959
  scope: scope
933
960
  })];
934
961
  case 3:
935
- e_1 = _a.sent();
962
+ _b.sent();
936
963
  return [2 /*return*/, new Promise(function (resolve) {
937
964
  renderTimer = setTimeout(function () {
938
- console.log(mdxContent, 'mdxContent');
939
- console.log(e_1, 'error');
940
965
  resolve(/*#__PURE__*/React.createElement('div', {
941
966
  style: {
942
- fontSize: '14px',
943
967
  backgroundColor: 'transparent'
944
968
  }
945
969
  }, mdxContent));
@@ -955,31 +979,64 @@ function renderMdx(mdxContent, scope, registeredComponents) {
955
979
  // 递归解析组件的函数
956
980
  function parseComponentRecursively(allComponentHandlers, item, scope) {
957
981
  return __awaiter(this, void 0, void 0, function () {
958
- var componentHandler, props, propsString, childrenContent_1, parsedChildren_1, componentString;
982
+ var componentHandler, componentString_1, parsedChildren, props, propsString, childrenContent_1, parsedChildren_1, componentString;
959
983
  return __generator(this, function (_a) {
960
984
  switch (_a.label) {
961
985
  case 0:
962
986
  if (item.type === 'text') {
963
987
  return [2 /*return*/, item.value];
964
988
  }
965
- if (!(item.type === 'component')) return [3 /*break*/, 3];
989
+ if (!(item.type === 'component')) return [3 /*break*/, 8];
966
990
  componentHandler = allComponentHandlers.find(function (c) {
967
991
  return c.name === item.value;
968
992
  });
969
- if (!componentHandler) {
970
- return [2 /*return*/, null];
993
+ if (!!componentHandler) return [3 /*break*/, 5];
994
+ componentString_1 = "<".concat(item.value);
995
+ if (item.props) {
996
+ componentString_1 += ' ' + Object.entries(item.props).map(function (_a) {
997
+ var _b = __read(_a, 2),
998
+ key = _b[0],
999
+ value = _b[1];
1000
+ if (typeof value === 'string') {
1001
+ return "".concat(key, "=\"").concat(value, "\"");
1002
+ }
1003
+ try {
1004
+ return "".concat(key, "={").concat(JSON.stringify(value), "}");
1005
+ } catch (e) {
1006
+ return "".concat(key, "=\"[object Object]\"");
1007
+ }
1008
+ }).join(' ');
971
1009
  }
1010
+ if (!item.selfClosing) return [3 /*break*/, 1];
1011
+ componentString_1 += ' />';
1012
+ return [3 /*break*/, 4];
1013
+ case 1:
1014
+ componentString_1 += '>';
1015
+ if (!(item.children && Array.isArray(item.children))) return [3 /*break*/, 3];
1016
+ return [4 /*yield*/, Promise.all(item.children.map(function (child) {
1017
+ return parseComponentRecursively(allComponentHandlers, child, scope);
1018
+ }))];
1019
+ case 2:
1020
+ parsedChildren = _a.sent();
1021
+ componentString_1 += parsedChildren.join('');
1022
+ _a.label = 3;
1023
+ case 3:
1024
+ componentString_1 += "</".concat(item.value, ">");
1025
+ _a.label = 4;
1026
+ case 4:
1027
+ return [2 /*return*/, componentString_1];
1028
+ case 5:
972
1029
  props = __assign(__assign({}, item.props), {
973
1030
  key: generateRandomName()
974
1031
  });
975
1032
  propsString = formatProps(props);
976
1033
  propsString += " scope={props.scope}";
977
1034
  childrenContent_1 = '';
978
- if (!(item.children && Array.isArray(item.children))) return [3 /*break*/, 2];
1035
+ if (!(item.children && Array.isArray(item.children))) return [3 /*break*/, 7];
979
1036
  return [4 /*yield*/, Promise.all(item.children.map(function (child) {
980
1037
  return parseComponentRecursively(allComponentHandlers, child, scope);
981
1038
  }))];
982
- case 1:
1039
+ case 6:
983
1040
  parsedChildren_1 = _a.sent();
984
1041
  item.children.map(function (item, index) {
985
1042
  if (item.type === 'text') {
@@ -988,15 +1045,15 @@ function parseComponentRecursively(allComponentHandlers, item, scope) {
988
1045
  childrenContent_1 += parsedChildren_1[index];
989
1046
  }
990
1047
  });
991
- _a.label = 2;
992
- case 2:
1048
+ _a.label = 7;
1049
+ case 7:
993
1050
  // 调用组件的渲染钩子
994
1051
  if (componentHandler.onRender) {
995
1052
  componentHandler.onRender(item, scope);
996
1053
  }
997
1054
  componentString = componentHandler.selfClosing ? "<".concat(item.value, " ").concat(propsString, " />") : "\t\n<".concat(item.value, " ").concat(propsString, ">\n").concat(childrenContent_1, "\n</").concat(item.value, ">\t\n");
998
1055
  return [2 /*return*/, componentString];
999
- case 3:
1056
+ case 8:
1000
1057
  return [2 /*return*/, null];
1001
1058
  }
1002
1059
  });
@@ -1085,7 +1142,6 @@ function ReactAIRenderer(_a) {
1085
1142
  var _b = __read(_a, 2),
1086
1143
  name = _b[0],
1087
1144
  component = _b[1];
1088
- console.log(name, 'name');
1089
1145
  var selfClosing = isSelfClosingComponent(component);
1090
1146
  return {
1091
1147
  component: component,
@@ -1101,7 +1157,7 @@ function ReactAIRenderer(_a) {
1101
1157
  useEffect(function () {
1102
1158
  var parseMDX = function () {
1103
1159
  return __awaiter(_this, void 0, void 0, function () {
1104
- var ThinkComponent, ResultComponent, _a, thinkContent, resultContent, parsedData, parsedComponents, finalComponent, MDXComponent;
1160
+ var ThinkComponent, ResultComponent, _a, thinkContent, resultContent, parsedData, parsedComponents, finalComponent, i, _result, MDXComponent;
1105
1161
  return __generator(this, function (_b) {
1106
1162
  switch (_b.label) {
1107
1163
  case 0:
@@ -1114,7 +1170,7 @@ function ReactAIRenderer(_a) {
1114
1170
  ThinkComponent = _b.sent();
1115
1171
  _b.label = 2;
1116
1172
  case 2:
1117
- if (!resultContent) return [3 /*break*/, 5];
1173
+ if (!resultContent) return [3 /*break*/, 8];
1118
1174
  resultContent = fixMDXContent(resultContent);
1119
1175
  parsedData = parser.parse('magic', resultContent);
1120
1176
  return [4 /*yield*/, Promise.all(parsedData.map(function (item) {
@@ -1122,14 +1178,25 @@ function ReactAIRenderer(_a) {
1122
1178
  }))];
1123
1179
  case 3:
1124
1180
  parsedComponents = _b.sent();
1125
- return [4 /*yield*/, renderMdx(parsedComponents.join('\n'), scope, allComponents)];
1181
+ finalComponent = [];
1182
+ i = 0;
1183
+ _b.label = 4;
1126
1184
  case 4:
1127
- finalComponent = _b.sent();
1185
+ if (!(i < parsedComponents.length)) return [3 /*break*/, 7];
1186
+ return [4 /*yield*/, renderMdx(parsedComponents[i], scope, allComponents)];
1187
+ case 5:
1188
+ _result = _b.sent();
1189
+ finalComponent.push(_result);
1190
+ _b.label = 6;
1191
+ case 6:
1192
+ i++;
1193
+ return [3 /*break*/, 4];
1194
+ case 7:
1128
1195
  ResultComponent = /*#__PURE__*/jsx("div", {
1129
1196
  children: finalComponent
1130
1197
  });
1131
- _b.label = 5;
1132
- case 5:
1198
+ _b.label = 8;
1199
+ case 8:
1133
1200
  MDXComponent = /*#__PURE__*/jsxs(React__default.Fragment, {
1134
1201
  children: [ThinkComponent, ResultComponent]
1135
1202
  });
@@ -1212,6 +1279,7 @@ var ToolCall = function (_a) {
1212
1279
  });
1213
1280
  };
1214
1281
 
1215
- // 默认导出
1282
+ // 导出 MDXStreamingParser 类
1216
1283
 
1217
- export { ReactAIRenderer as R, Think as T, __read as _, __awaiter as a, __generator as b, ToolCall as c };
1284
+ export { MDXStreamingParser as M, ReactAIRenderer as R, Think as T, __read as _, __awaiter as a, __generator as b, ToolCall as c };
1285
+ //# sourceMappingURL=index-283b43ef.js.map