@matechat/ng 0.0.1-alpha.0 → 20.0.1-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/Base/base.component.d.ts +5 -5
  2. package/Bubble/bubble.component.d.ts +7 -5
  3. package/Input/button/button.component.d.ts +3 -2
  4. package/Input/input.component.d.ts +13 -4
  5. package/MarkdownCard/code-block.component.d.ts +49 -0
  6. package/MarkdownCard/index.d.ts +3 -0
  7. package/MarkdownCard/markdown-card.component.d.ts +200 -0
  8. package/MarkdownCard/markdown-card.module.d.ts +13 -0
  9. package/README.md +117 -13
  10. package/components-common/Base/foundation.d.ts +2 -0
  11. package/components-common/MarkdownCard/codeblock-foundation.d.ts +21 -0
  12. package/components-common/MarkdownCard/common/MDCardService.d.ts +14 -0
  13. package/components-common/MarkdownCard/common/MermaidService.d.ts +23 -0
  14. package/components-common/MarkdownCard/common/mdCard.types.d.ts +56 -0
  15. package/components-common/MarkdownCard/common/parser.d.ts +150 -0
  16. package/components-common/MarkdownCard/foundation.d.ts +38 -0
  17. package/esm2022/Base/base.component.mjs +2 -2
  18. package/esm2022/Bubble/bubble.component.mjs +15 -8
  19. package/esm2022/Input/button/button.component.mjs +1 -1
  20. package/esm2022/Input/input.component.mjs +107 -3
  21. package/esm2022/Locale/locale.service.mjs +5 -5
  22. package/esm2022/MarkdownCard/code-block.component.mjs +175 -0
  23. package/esm2022/MarkdownCard/index.mjs +4 -0
  24. package/esm2022/MarkdownCard/markdown-card.component.mjs +436 -0
  25. package/esm2022/MarkdownCard/markdown-card.module.mjs +44 -0
  26. package/esm2022/components-common/Base/foundation.mjs +4 -1
  27. package/esm2022/components-common/Input/foundation.mjs +1 -2
  28. package/esm2022/components-common/MarkdownCard/codeblock-foundation.mjs +132 -0
  29. package/esm2022/components-common/MarkdownCard/common/MDCardService.mjs +69 -0
  30. package/esm2022/components-common/MarkdownCard/common/MermaidService.mjs +222 -0
  31. package/esm2022/components-common/MarkdownCard/common/mdCard.types.mjs +6 -0
  32. package/esm2022/components-common/MarkdownCard/common/parser.mjs +194 -0
  33. package/esm2022/components-common/MarkdownCard/foundation.mjs +84 -0
  34. package/esm2022/public-api.mjs +2 -1
  35. package/fesm2022/matechat-ng.mjs +1514 -17
  36. package/fesm2022/matechat-ng.mjs.map +1 -1
  37. package/package.json +12 -7
  38. package/public-api.d.ts +1 -0
  39. package/fesm2022/matechat-ng-en-us-DsYnUbZd.mjs +0 -28
  40. package/fesm2022/matechat-ng-en-us-DsYnUbZd.mjs.map +0 -1
  41. package/fesm2022/matechat-ng-zh-cn--_YVZHnW.mjs +0 -28
  42. package/fesm2022/matechat-ng-zh-cn--_YVZHnW.mjs.map +0 -1
@@ -0,0 +1,194 @@
1
+ // 判断是否自闭合标签
2
+ export const isSelfClosingTag = (token) => {
3
+ // 判断token.content里面是否包含完整的HTML结构(所有开始标签都有对应的结束标签)
4
+ const content = token.content || '';
5
+ // 检查是否是自闭合标签(如 <img />, <br /> 等)
6
+ if (content.match(/<(\w+)[^>]*\/>/)) {
7
+ return true;
8
+ }
9
+ // 检查是否包含完整的HTML结构
10
+ const tagStack = [];
11
+ const openTagRegex = /<(\w+)[^>]*>/g;
12
+ const closeTagRegex = /<\/(\w+)>/g;
13
+ let openMatch;
14
+ let closeMatch;
15
+ // 重置正则表达式的lastIndex
16
+ openTagRegex.lastIndex = 0;
17
+ closeTagRegex.lastIndex = 0;
18
+ // 按顺序处理所有标签
19
+ const allMatches = [];
20
+ // 收集所有开始标签
21
+ while ((openMatch = openTagRegex.exec(content)) !== null) {
22
+ allMatches.push({
23
+ type: 'open',
24
+ tagName: openMatch[1],
25
+ index: openMatch.index
26
+ });
27
+ }
28
+ // 收集所有结束标签
29
+ while ((closeMatch = closeTagRegex.exec(content)) !== null) {
30
+ allMatches.push({
31
+ type: 'close',
32
+ tagName: closeMatch[1],
33
+ index: closeMatch.index
34
+ });
35
+ }
36
+ // 按位置排序
37
+ allMatches.sort((a, b) => a.index - b.index);
38
+ // 检查标签是否完全匹配
39
+ for (const match of allMatches) {
40
+ if (match.type === 'open') {
41
+ tagStack.push(match.tagName);
42
+ }
43
+ else {
44
+ if (tagStack.length === 0) {
45
+ return false; // 没有对应的开始标签
46
+ }
47
+ const lastOpenTag = tagStack[tagStack.length - 1];
48
+ if (lastOpenTag !== match.tagName) {
49
+ return false; // 标签不匹配
50
+ }
51
+ tagStack.pop();
52
+ }
53
+ }
54
+ // 只有当所有标签都正确匹配时,才认为是自闭合的
55
+ return tagStack.length === 0;
56
+ };
57
+ // 判断是否是结束标签
58
+ export const isClosingTag = (openToken, closeToken) => {
59
+ const openContent = openToken?.content || '';
60
+ const closeContent = closeToken?.content || '';
61
+ const openTagMatch = openContent.match(/<(\w+)/);
62
+ const closeTagMatch = closeContent.match(/<\/(\w+)/);
63
+ if (openTagMatch && closeTagMatch) {
64
+ return openTagMatch[1] === closeTagMatch[1];
65
+ }
66
+ return false;
67
+ };
68
+ // 创建ast树节点
69
+ export const genTreeNode = (node) => {
70
+ return {
71
+ nodeType: node ? node.type.replace('_open', '') : 'root',
72
+ openNode: node,
73
+ closeNode: null,
74
+ children: [],
75
+ vNodeKey: node?.vNodeKey || ''
76
+ };
77
+ };
78
+ // 匹配成对html token
79
+ export const matchHtmlToken = (token, stack) => {
80
+ // 简单排除单独的闭合标签
81
+ const isCloseTag = token.content.startsWith('</');
82
+ if (!stack.length) {
83
+ token.nesting = isCloseTag ? 0 : 1;
84
+ stack.push(token);
85
+ return;
86
+ }
87
+ // 判断当前token是否是上一个html token的闭合标签
88
+ const prevToken = stack[stack.length - 1];
89
+ const closing = isClosingTag(prevToken, token);
90
+ if (closing) {
91
+ token.nesting = -1;
92
+ stack.pop();
93
+ }
94
+ else {
95
+ if (isCloseTag) {
96
+ token.nesting = 0;
97
+ }
98
+ else {
99
+ token.nesting = 1;
100
+ stack.push(token);
101
+ }
102
+ }
103
+ };
104
+ export const isValidTagName = (tagName) => {
105
+ if (!tagName)
106
+ return false;
107
+ try {
108
+ document.createElement(tagName);
109
+ return true;
110
+ }
111
+ catch (error) {
112
+ return false;
113
+ }
114
+ };
115
+ export const tokensToAst = (tokens) => {
116
+ // 递归处理 inline 类型的 token
117
+ const processInlineToken = (token) => {
118
+ const node = genTreeNode(token);
119
+ // 如果 token 有 children,递归处理它们
120
+ if (token.children && token.children.length > 0) {
121
+ node.children = tokensToAst(token.children);
122
+ }
123
+ return node;
124
+ };
125
+ // 创建根节点
126
+ const rootNode = genTreeNode(null);
127
+ let curr = rootNode;
128
+ const stack = [];
129
+ const htmlInlineTokenStack = [];
130
+ const htmlBlockTokenStack = [];
131
+ // 处理html token nesting值
132
+ tokens.forEach((tok, idx) => {
133
+ tok.vNodeKey = `mc-markdown-content-key-${idx}`;
134
+ tok.tokenIndex = idx;
135
+ if (tok.type.includes('html_')) {
136
+ if (isSelfClosingTag(tok)) {
137
+ tok.nesting = 0;
138
+ return;
139
+ }
140
+ const stack = tok.type === 'html_block'
141
+ ? htmlBlockTokenStack
142
+ : htmlInlineTokenStack;
143
+ matchHtmlToken(tok, stack);
144
+ }
145
+ });
146
+ tokens.forEach((tok, idx) => {
147
+ let tmp;
148
+ if (tok.nesting === 1) {
149
+ // 开始标签
150
+ tmp = genTreeNode(tok);
151
+ curr.children.push(tmp);
152
+ stack.push(curr);
153
+ curr = tmp;
154
+ }
155
+ else if (tok.nesting === -1) {
156
+ // 结束标签
157
+ curr.closeNode = tok;
158
+ if (!stack.length) {
159
+ throw new Error('AST stack underflow.');
160
+ }
161
+ tmp = stack.pop();
162
+ curr = tmp;
163
+ }
164
+ else if (tok.nesting === 0) {
165
+ // 自闭合标签或 inline 内容
166
+ if (tok.type === 'inline' && tok.children && tok.children.length > 0) {
167
+ // 对于 inline 类型,递归处理其 children
168
+ const inlineNode = processInlineToken(tok);
169
+ curr.children.push(inlineNode);
170
+ }
171
+ else {
172
+ // 普通 token,直接添加
173
+ curr.children.push(tok);
174
+ }
175
+ }
176
+ else {
177
+ throw new Error(`Invalid nesting level found in token index ${idx}.`);
178
+ }
179
+ });
180
+ if (stack.length !== 0) {
181
+ // throw new Error('Unbalanced block open/close tokens.');
182
+ }
183
+ return rootNode.children;
184
+ };
185
+ // 声明一个utils静态默认导出
186
+ export default {
187
+ isSelfClosingTag,
188
+ isClosingTag,
189
+ tokensToAst,
190
+ genTreeNode,
191
+ matchHtmlToken,
192
+ isValidTagName
193
+ };
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy1uZy9zcmMvY29tcG9uZW50cy1jb21tb24vTWFya2Rvd25DYXJkL2NvbW1vbi9wYXJzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsWUFBWTtBQUNaLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsS0FBWSxFQUFXLEVBQUU7SUFDdEQsa0RBQWtEO0lBQ2xELE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO0lBRXBDLGtDQUFrQztJQUNsQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsTUFBTSxRQUFRLEdBQWEsRUFBRSxDQUFDO0lBQzlCLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQztJQUNyQyxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUM7SUFFbkMsSUFBSSxTQUFTLENBQUM7SUFDZCxJQUFJLFVBQVUsQ0FBQztJQUVmLG9CQUFvQjtJQUNwQixZQUFZLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUMzQixhQUFhLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUU1QixZQUFZO0lBQ1osTUFBTSxVQUFVLEdBQXNFLEVBQUUsQ0FBQztJQUV6RixXQUFXO0lBQ1gsT0FBTyxDQUFDLFNBQVMsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDdkQsVUFBVSxDQUFDLElBQUksQ0FBQztZQUNaLElBQUksRUFBRSxNQUFNO1lBQ1osT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDckIsS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLO1NBQ3pCLENBQUMsQ0FBQztJQUNQLENB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QUNqQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sZ0JBQWdCO2dCQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMxQixDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN2QiwwREFBMEQ7SUFDNUQsQ0FBQztJQUNELE9BQU8sUUFBUSxDQUFDLFFBQXFCLENBQUM7QUFDeEMsQ0FBQyxDQUFDO0FBRUosa0JBQWtCO0FBQ2xCLGVBQWU7SUFDWCxnQkFBZ0I7SUFDaEIsWUFBWTtJQUNaLFdBQVc7SUFDWCxXQUFXO0lBQ1gsY0FBYztJQUNkLGNBQWM7Q0FDakIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVG9rZW4gfSBmcm9tIFwibWFya2Rvd24taXRcIjtcbmltcG9ydCB0eXBlIHsgQVNUTm9kZSB9IGZyb20gJy4vbWRDYXJkLnR5cGVzJztcbi8vIOWIpOaWreaYr+WQpuiHqumXreWQiOagh+etvlxuZXhwb3J0IGNvbnN0IGlzU2VsZkNsb3NpbmdUYWcgPSAodG9rZW46IFRva2VuKTogYm9vbGVhbiA9PiB7XG4gICAgLy8g5Yik5patdG9rZW4uY29udGVudOmHjOmdouaYr+WQpuWMheWQq+WujOaVtOeahEhUTUznu5PmnoTvvIjmiYDmnInlvIDlp4vmoIfnrb7pg73mnInlr7nlupTnmoTnu5PmnZ/moIfnrb7vvIlcbiAgICBjb25zdCBjb250ZW50ID0gdG9rZW4uY29udGVudCB8fCAnJztcblxuICAgIC8vIOajgOafpeaYr+WQpuaYr+iHqumXreWQiOagh+etvu+8iOWmgiA8aW1nIC8+LCA8YnIgLz4g562J77yJXG4gICAgaWYgKGNvbnRlbnQubWF0Y2goLzwoXFx3KylbXj5dKlxcLz4vKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvLyDmo4Dmn6XmmK/lkKbljIXlkKvlrozmlbTnmoRIVE1M57uT5p6EXG4gICAgY29uc3QgdGFnU3RhY2s6IHN0cmluZ1tdID0gW107XG4gICAgY29uc3Qgb3BlblRhZ1JlZ2V4ID0gLzwoXFx3KylbXj5dKj4vZztcbiAgICBjb25zdCBjbG9zZVRhZ1JlZ2V4ID0gLzxcXC8oXFx3Kyk+L2c7XG5cbiAgICBsZXQgb3Blbk1hdGNoO1xuICAgIGxldCBjbG9zZU1hdGNoO1xuXG4gICAgLy8g6YeN572u5q2j5YiZ6KGo6L6+5byP55qEbGFzdEluZGV4XG4gICAgb3BlblRhZ1JlZ2V4Lmxhc3RJbmRleCA9IDA7XG4gICAgY2xvc2VUYWdSZWdleC5sYXN0SW5kZXggPSAwO1xuXG4gICAgLy8g5oyJ6aG65bqP5aSE55CG5omA5pyJ5qCH562+XG4gICAgY29uc3QgYWxsTWF0Y2hlczogQXJyYXk8eyB0eXBlOiAnb3BlbicgfCAnY2xvc2UnLCB0YWdOYW1lOiBzdHJpbmcsIGluZGV4OiBudW1iZXIgfT4gPSBbXTtcblxuICAgIC8vIOaUtumbhuaJgOacieW8gOWni+agh+etvlxuICAgIHdoaWxlICgob3Blbk1hdGNoID0gb3BlblRhZ1JlZ2V4LmV4ZWMoY29udGVudCkpICE9PSBudWxsKSB7XG4gICAgICAgIGFsbE1hdGNoZXMucHVzaCh7XG4gICAgICAgICAgICB0eXBlOiAnb3BlbicsXG4gICAgICAgICAgICB0YWdOYW1lOiBvcGVuTWF0Y2hbMV0sXG4gICAgICAgICAgICBpbmRleDogb3Blbk1hdGNoLmluZGV4XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIOaUtumbhuaJgOaciee7k+adn+agh+etvlxuICAgIHdoaWxlICgoY2xvc2VNYXRjaCA9IGNsb3NlVGFnUmVnZXguZXhlYyhjb250ZW50KSkgIT09IG51bGwpIHtcbiAgICAgICAgYWxsTWF0Y2hlcy5wdXNoKHtcbiAgICAgICAgICAgIHR5cGU6ICdjbG9zZScsXG4gICAgICAgICAgICB0YWdOYW1lOiBjbG9zZU1hdGNoWzFdLFxuICAgICAgICAgICAgaW5kZXg6IGNsb3NlTWF0Y2guaW5kZXhcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8g5oyJ5L2N572u5o6S5bqPXG4gICAgYWxsTWF0Y2hlcy5zb3J0KChhLCBiKSA9PiBhLmluZGV4IC0gYi5pbmRleCk7XG5cbiAgICAvLyDmo4Dmn6XmoIfnrb7mmK/lkKblrozlhajljLnphY1cbiAgICBmb3IgKGNvbnN0IG1hdGNoIG9mIGFsbE1hdGNoZXMpIHtcbiAgICAgICAgaWYgKG1hdGNoLnR5cGUgPT09ICdvcGVuJykge1xuICAgICAgICAgICAgdGFnU3RhY2sucHVzaChtYXRjaC50YWdOYW1lKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0YWdTdGFjay5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7IC8vIOayoeacieWvueW6lOeahOW8gOWni+agh+etvlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbGFzdE9wZW5UYWcgPSB0YWdTdGFja1t0YWdTdGFjay5sZW5ndGggLSAxXTtcbiAgICAgICAgICAgIGlmIChsYXN0T3BlblRhZyAhPT0gbWF0Y2gudGFnTmFtZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsgLy8g5qCH562+5LiN5Yy56YWNXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0YWdTdGFjay5wb3AoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIOWPquacieW9k+aJgOacieagh+etvumDveato+ehruWMuemFjeaXtu+8jOaJjeiupOS4uuaYr+iHqumXreWQiOeahFxuICAgIHJldHVybiB0YWdTdGFjay5sZW5ndGggPT09IDA7XG59XG5cbi8vIOWIpOaWreaYr+WQpuaYr+e7k+adn+agh+etvlxuZXhwb3J0IGNvbnN0IGlzQ2xvc2luZ1RhZyA9IChvcGVuVG9rZW46IFRva2VuLCBjbG9zZVRva2VuOiBUb2tlbik6IGJvb2xlYW4gPT4ge1xuICAgIGNvbnN0IG9wZW5Db250ZW50ID0gb3BlblRva2VuPy5jb250ZW50IHx8ICcnO1xuICAgIGNvbnN0IGNsb3NlQ29udGVudCA9IGNsb3NlVG9rZW4/LmNvbnRlbnQgfHwgJyc7XG5cbiAgICBjb25zdCBvcGVuVGFnTWF0Y2ggPSBvcGVuQ29udGVudC5tYXRjaCgvPChcXHcrKS8pO1xuICAgIGNvbnN0IGNsb3NlVGFnTWF0Y2ggPSBjbG9zZUNvbnRlbnQubWF0Y2goLzxcXC8oXFx3KykvKTtcblxuICAgIGlmIChvcGVuVGFnTWF0Y2ggJiYgY2xvc2VUYWdNYXRjaCkge1xuICAgICAgICByZXR1cm4gb3BlblRhZ01hdGNoWzFdID09PSBjbG9zZVRhZ01hdGNoWzFdO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbn1cblxuLy8g5Yib5bu6YXN05qCR6IqC54K5XG5leHBvcnQgY29uc3QgZ2VuVHJlZU5vZGUgPSAobm9kZTogVG9rZW4gfCBudWxsKTogQVNUTm9kZSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbm9kZVR5cGU6IG5vZGUgPyBub2RlLnR5cGUucmVwbGFjZSgnX29wZW4nLCAnJykgOiAncm9vdCcsXG4gICAgICAgIG9wZW5Ob2RlOiBub2RlLFxuICAgICAgICBjbG9zZU5vZGU6IG51bGwsXG4gICAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICAgICAgdk5vZGVLZXk6IChub2RlIGFzIGFueSk/LnZOb2RlS2V5IHx8ICcnXG4gICAgfTtcbn07XG5cbi8vIOWMuemFjeaIkOWvuWh0bWwgdG9rZW5cbmV4cG9ydCBjb25zdCBtYXRjaEh0bWxUb2tlbiA9ICh0b2tlbjogVG9rZW4sIHN0YWNrOiBUb2tlbltdKSA9PiB7XG4gICAgLy8g566A5Y2V5o6S6Zmk5Y2V54us55qE6Zet5ZCI5qCH562+XG4gICAgY29uc3QgaXNDbG9zZVRhZyA9IHRva2VuLmNvbnRlbnQuc3RhcnRzV2l0aCgnPC8nKTtcbiAgICBpZiAoIXN0YWNrLmxlbmd0aCkge1xuICAgICAgICB0b2tlbi5uZXN0aW5nID0gaXNDbG9zZVRhZyA/IDAgOiAxO1xuICAgICAgICBzdGFjay5wdXNoKHRva2VuKTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyDliKTmlq3lvZPliY10b2tlbuaYr+WQpuaYr+S4iuS4gOS4qmh0bWwgdG9rZW7nmoTpl63lkIjmoIfnrb5cbiAgICBjb25zdCBwcmV2VG9rZW4gPSBzdGFja1tzdGFjay5sZW5ndGggLSAxXTtcbiAgICBjb25zdCBjbG9zaW5nID0gaXNDbG9zaW5nVGFnKHByZXZUb2tlbiwgdG9rZW4pO1xuICAgIGlmIChjbG9zaW5nKSB7XG4gICAgICAgIHRva2VuLm5lc3RpbmcgPSAtMTtcbiAgICAgICAgc3RhY2sucG9wKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGlzQ2xvc2VUYWcpIHtcbiAgICAgICAgICAgIHRva2VuLm5lc3RpbmcgPSAwO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdG9rZW4ubmVzdGluZyA9IDE7XG4gICAgICAgICAgICBzdGFjay5wdXNoKHRva2VuKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IGlzVmFsaWRUYWdOYW1lID0gKHRhZ05hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IGJvb2xlYW4gPT4ge1xuICAgIGlmICghdGFnTmFtZSkgcmV0dXJuIGZhbHNlXG4gICAgdHJ5IHtcbiAgICAgICAgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKVxuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IHRva2Vuc1RvQXN0ID0gKHRva2VuczogVG9rZW5bXSkgPT4ge1xuICAgIC8vIOmAkuW9kuWkhOeQhiBpbmxpbmUg57G75Z6L55qEIHRva2VuXG4gICAgY29uc3QgcHJvY2Vzc0lubGluZVRva2VuID0gKHRva2VuOiBUb2tlbik6IEFTVE5vZGUgPT4ge1xuICAgICAgY29uc3Qgbm9kZSA9IGdlblRyZWVOb2RlKHRva2VuKTtcblxuICAgICAgLy8g5aaC5p6cIHRva2VuIOaciSBjaGlsZHJlbu+8jOmAkuW9kuWkhOeQhuWug+S7rFxuICAgICAgaWYgKHRva2VuLmNoaWxkcmVuICYmIHRva2VuLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgbm9kZS5jaGlsZHJlbiA9IHRva2Vuc1RvQXN0KHRva2VuLmNoaWxkcmVuKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG5vZGU7XG4gICAgfTtcblxuICAgIC8vIOWIm+W7uuagueiKgueCuVxuICAgIGNvbnN0IHJvb3ROb2RlID0gZ2VuVHJlZU5vZGUobnVsbCk7XG4gICAgbGV0IGN1cnI6IEFTVE5vZGUgPSByb290Tm9kZTtcbiAgICBjb25zdCBzdGFjazogQVNUTm9kZVtdID0gW107XG4gICAgY29uc3QgaHRtbElubGluZVRva2VuU3RhY2s6IFRva2VuW10gPSBbXTtcbiAgICBjb25zdCBodG1sQmxvY2tUb2tlblN0YWNrOiBUb2tlbltdID0gW107XG4gICAgLy8g5aSE55CGaHRtbCB0b2tlbiBuZXN0aW5n5YC8XG4gICAgdG9rZW5zLmZvckVhY2goKHRvazogVG9rZW4sIGlkeDogbnVtYmVyKSA9PiB7XG4gICAgICAodG9rIGFzIGFueSkudk5vZGVLZXkgPSBgbWMtbWFya2Rvd24tY29udGVudC1rZXktJHtpZHh9YDtcbiAgICAgICh0b2sgYXMgYW55KS50b2tlbkluZGV4ID0gaWR4O1xuXG4gICAgICBpZiAodG9rLnR5cGUuaW5jbHVkZXMoJ2h0bWxfJykpIHtcbiAgICAgICAgaWYgKGlzU2VsZkNsb3NpbmdUYWcodG9rKSkge1xuICAgICAgICAgIHRvay5uZXN0aW5nID0gMDtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzdGFjayA9XG4gICAgICAgICAgdG9rLnR5cGUgPT09ICdodG1sX2Jsb2NrJ1xuICAgICAgICAgICAgPyBodG1sQmxvY2tUb2tlblN0YWNrXG4gICAgICAgICAgICA6IGh0bWxJbmxpbmVUb2tlblN0YWNrO1xuXG4gICAgICAgIG1hdGNoSHRtbFRva2VuKHRvaywgc3RhY2spO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdG9rZW5zLmZvckVhY2goKHRvazogVG9rZW4sIGlkeDogbnVtYmVyKSA9PiB7XG4gICAgICBsZXQgdG1wOiBBU1ROb2RlO1xuICAgICAgaWYgKHRvay5uZXN0aW5nID09PSAxKSB7XG4gICAgICAgIC8vIOW8gOWni+agh+etvlxuICAgICAgICB0bXAgPSBnZW5UcmVlTm9kZSh0b2spO1xuICAgICAgICBjdXJyLmNoaWxkcmVuLnB1c2godG1wKTtcbiAgICAgICAgc3RhY2sucHVzaChjdXJyKTtcbiAgICAgICAgY3VyciA9IHRtcDtcbiAgICAgIH0gZWxzZSBpZiAodG9rLm5lc3RpbmcgPT09IC0xKSB7XG4gICAgICAgIC8vIOe7k+adn+agh+etvlxuICAgICAgICBjdXJyLmNsb3NlTm9kZSA9IHRvaztcbiAgICAgICAgaWYgKCFzdGFjay5sZW5ndGgpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FTVCBzdGFjayB1bmRlcmZsb3cuJyk7XG4gICAgICAgIH1cbiAgICAgICAgdG1wID0gc3RhY2sucG9wKCkhO1xuICAgICAgICBjdXJyID0gdG1wO1xuICAgICAgfSBlbHNlIGlmICh0b2submVzdGluZyA9PT0gMCkge1xuICAgICAgICAvLyDoh6rpl63lkIjmoIfnrb7miJYgaW5saW5lIOWGheWuuVxuICAgICAgICBpZiAodG9rLnR5cGUgPT09ICdpbmxpbmUnICYmIHRvay5jaGlsZHJlbiAmJiB0b2suY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICAgIC8vIOWvueS6jiBpbmxpbmUg57G75Z6L77yM6YCS5b2S5aSE55CG5YW2IGNoaWxkcmVuXG4gICAgICAgICAgY29uc3QgaW5saW5lTm9kZSA9IHByb2Nlc3NJbmxpbmVUb2tlbih0b2spO1xuICAgICAgICAgIGN1cnIuY2hpbGRyZW4ucHVzaChpbmxpbmVOb2RlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyDmma7pgJogdG9rZW7vvIznm7TmjqXmt7vliqBcbiAgICAgICAgICBjdXJyLmNoaWxkcmVuLnB1c2godG9rKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG5lc3RpbmcgbGV2ZWwgZm91bmQgaW4gdG9rZW4gaW5kZXggJHtpZHh9LmApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKHN0YWNrLmxlbmd0aCAhPT0gMCkge1xuICAgICAgLy8gdGhyb3cgbmV3IEVycm9yKCdVbmJhbGFuY2VkIGJsb2NrIG9wZW4vY2xvc2UgdG9rZW5zLicpO1xuICAgIH1cbiAgICByZXR1cm4gcm9vdE5vZGUuY2hpbGRyZW4gYXMgQVNUTm9kZVtdO1xuICB9O1xuXG4vLyDlo7DmmI7kuIDkuKp1dGlsc+mdmeaAgem7mOiupOWvvOWHulxuZXhwb3J0IGRlZmF1bHQge1xuICAgIGlzU2VsZkNsb3NpbmdUYWcsXG4gICAgaXNDbG9zaW5nVGFnLFxuICAgIHRva2Vuc1RvQXN0LFxuICAgIGdlblRyZWVOb2RlLFxuICAgIG1hdGNoSHRtbFRva2VuLFxuICAgIGlzVmFsaWRUYWdOYW1lXG59Il19
@@ -0,0 +1,84 @@
1
+ import BaseFoundation from '../Base/foundation';
2
+ import { defaultTypingConfig } from './common/mdCard.types';
3
+ export class MarkdownCardFoundation extends BaseFoundation {
4
+ constructor(adapter) {
5
+ super({ ...adapter });
6
+ this.isToken = (node) => {
7
+ return 'type' in node && 'content' in node;
8
+ };
9
+ this.typewriterEnd = () => {
10
+ this.setState({ isTyping: false });
11
+ this._adapter.typingEnd?.();
12
+ };
13
+ this.getThinkContent = (content, thinkOptions) => {
14
+ const thinkClass = thinkOptions?.customClass || 'mc-think-block';
15
+ return (content
16
+ ?.replace('<think>', `<div class="${thinkClass}">`)
17
+ ?.replace('</think>', '</div>') || '');
18
+ };
19
+ this.parseTypingContent = (content) => {
20
+ const { typingOptions } = this.getProps();
21
+ const { typingIndex } = this.getStates();
22
+ content = content.slice(0, typingIndex) || '';
23
+ const options = { ...defaultTypingConfig, ...typingOptions };
24
+ if (options.style === 'cursor') {
25
+ content += `<span class="mc-typewriter mc-typewriter-cursor">|</span>`;
26
+ }
27
+ else if (options.style === 'color' || options.style === 'gradient') {
28
+ content =
29
+ content.slice(0, -5) +
30
+ `<span class="mc-typewriter mc-typewriter-${options.style}">${content.slice(-5)}</span>`;
31
+ }
32
+ return content || '';
33
+ };
34
+ this.parseContent = () => {
35
+ const { content, thinkOptions, enableThink } = this.getProps();
36
+ const { typing, isTyping } = this.getStates();
37
+ let parseContent = content || '';
38
+ if (typing && isTyping) {
39
+ parseContent = this.parseTypingContent(content);
40
+ }
41
+ if (enableThink) {
42
+ parseContent = this.getThinkContent(content, thinkOptions);
43
+ }
44
+ parseContent = this._adapter.parseContent(parseContent);
45
+ };
46
+ this.typewriterStart = () => {
47
+ const { typingOptions } = this.getProps();
48
+ const { timer } = this.getStates();
49
+ if (timer) {
50
+ clearTimeout(timer);
51
+ }
52
+ this.setState({ isTyping: true });
53
+ this._adapter.typingStart?.();
54
+ const options = { ...defaultTypingConfig, ...typingOptions };
55
+ const typingStep = () => {
56
+ const { typingIndex, content } = this.getStates();
57
+ let step = options.step || 2;
58
+ if (Array.isArray(options.step)) {
59
+ step =
60
+ options.step[0] +
61
+ Math.floor(Math.random() * (options.step[1] - options.step[0]));
62
+ }
63
+ let index = typingIndex + step;
64
+ this.setState({ typingIndex: index });
65
+ this.parseContent();
66
+ this._adapter.typingEvent();
67
+ if (index >= content.length) {
68
+ this.typewriterEnd();
69
+ this.parseContent();
70
+ return;
71
+ }
72
+ let typingTimeout = setTimeout(typingStep, typeof options.interval === 'number' ? options.interval : 50);
73
+ this.setState({
74
+ timer: typingTimeout,
75
+ });
76
+ };
77
+ let typingStepTimeout = setTimeout(typingStep);
78
+ this.setState({
79
+ timer: typingStepTimeout,
80
+ });
81
+ };
82
+ }
83
+ }
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm91bmRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMtbmcvc3JjL2NvbXBvbmVudHMtY29tbW9uL01hcmtkb3duQ2FyZC9mb3VuZGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sY0FBa0MsTUFBTSxvQkFBb0IsQ0FBQztBQUdwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQVU1RCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsY0FBbUM7SUFDN0UsWUFBWSxPQUE0QjtRQUN0QyxLQUFLLENBQUMsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFHeEIsWUFBTyxHQUFHLENBQUMsSUFBcUIsRUFBaUIsRUFBRTtZQUNqRCxPQUFPLE1BQU0sSUFBSSxJQUFJLElBQUksU0FBUyxJQUFJLElBQUksQ0FBQztRQUM3QyxDQUFDLENBQUM7UUFFRixrQkFBYSxHQUFHLEdBQUcsRUFBRTtZQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQztRQUVGLG9CQUFlLEdBQUcsQ0FBQyxPQUFlLEVBQUUsWUFBaUIsRUFBRSxFQUFFO1lBQ3ZELE1BQU0sVUFBVSxHQUFHLFlBQVksRUFBRSxXQUFXLElBQUksZ0JBQWdCLENBQUM7WUFDakUsT0FBTyxDQUNMLE9BQU87Z0JBQ0wsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLGVBQWUsVUFBVSxJQUFJLENBQUM7Z0JBQ25ELEVBQUUsT0FBTyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQ3hDLENBQUM7UUFDSixDQUFDLENBQUM7UUFFRix1QkFBa0IsR0FBRyxDQUFDLE9BQWUsRUFBRSxFQUFFO1lBQ3ZDLE1B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QUMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDcEUsQ0FBQztnQkFDRCxJQUFJLEtBQUssR0FBRyxXQUFXLEdBQUcsSUFBSSxDQUFDO2dCQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFFNUIsSUFBSSxLQUFLLElBQUksT0FBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUM3QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7b0JBQ3JCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztvQkFDcEIsT0FBTztnQkFDVCxDQUFDO2dCQUVELElBQUksYUFBYSxHQUFHLFVBQVUsQ0FDNUIsVUFBVSxFQUNWLE9BQU8sT0FBTyxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDN0QsQ0FBQztnQkFDRixJQUFJLENBQUMsUUFBUSxDQUFDO29CQUNaLEtBQUssRUFBRSxhQUFhO2lCQUNyQixDQUFDLENBQUM7WUFDTCxDQUFDLENBQUM7WUFFRixJQUFJLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsUUFBUSxDQUFDO2dCQUNaLEtBQUssRUFBRSxpQkFBaUI7YUFDekIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO0lBakdGLENBQUM7Q0FrR0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmFzZUZvdW5kYXRpb24sIHsgRGVmYXVsdEFkYXB0ZXIgfSBmcm9tICcuLi9CYXNlL2ZvdW5kYXRpb24nO1xuaW1wb3J0IHR5cGUgeyBUb2tlbiB9IGZyb20gJ21hcmtkb3duLWl0JztcbmltcG9ydCB0eXBlIHsgQVNUTm9kZSB9IGZyb20gJy4vY29tbW9uL21kQ2FyZC50eXBlcyc7XG5pbXBvcnQgeyBkZWZhdWx0VHlwaW5nQ29uZmlnIH0gZnJvbSAnLi9jb21tb24vbWRDYXJkLnR5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBNYXJrZG93bkNhcmRBZGFwdGVyIGV4dGVuZHMgRGVmYXVsdEFkYXB0ZXIge1xuICBsb2NhbGUoa2V5OiBzdHJpbmcsIHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiBzdHJpbmc7XG4gIHR5cGluZ1N0YXJ0OiAoKSA9PiB2b2lkO1xuICB0eXBpbmdFbmQ6ICgpID0+IHZvaWQ7XG4gIHR5cGluZ0V2ZW50OiAoKSA9PiB2b2lkO1xuICBwYXJzZUNvbnRlbnQ6IChjb250ZW50OiBzdHJpbmcpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjbGFzcyBNYXJrZG93bkNhcmRGb3VuZGF0aW9uIGV4dGVuZHMgQmFzZUZvdW5kYXRpb248TWFya2Rvd25DYXJkQWRhcHRlcj4ge1xuICBjb25zdHJ1Y3RvcihhZGFwdGVyOiBNYXJrZG93bkNhcmRBZGFwdGVyKSB7XG4gICAgc3VwZXIoeyAuLi5hZGFwdGVyIH0pO1xuICB9XG5cbiAgaXNUb2tlbiA9IChub2RlOiBBU1ROb2RlIHwgVG9rZW4pOiBub2RlIGlzIFRva2VuID0+IHtcbiAgICByZXR1cm4gJ3R5cGUnIGluIG5vZGUgJiYgJ2NvbnRlbnQnIGluIG5vZGU7XG4gIH07XG5cbiAgdHlwZXdyaXRlckVuZCA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgaXNUeXBpbmc6IGZhbHNlIH0pO1xuICAgIHRoaXMuX2FkYXB0ZXIudHlwaW5nRW5kPy4oKTtcbiAgfTtcblxuICBnZXRUaGlua0NvbnRlbnQgPSAoY29udGVudDogc3RyaW5nLCB0aGlua09wdGlvbnM6IGFueSkgPT4ge1xuICAgIGNvbnN0IHRoaW5rQ2xhc3MgPSB0aGlua09wdGlvbnM/LmN1c3RvbUNsYXNzIHx8ICdtYy10aGluay1ibG9jayc7XG4gICAgcmV0dXJuIChcbiAgICAgIGNvbnRlbnRcbiAgICAgICAgPy5yZXBsYWNlKCc8dGhpbms+JywgYDxkaXYgY2xhc3M9XCIke3RoaW5rQ2xhc3N9XCI+YClcbiAgICAgICAgPy5yZXBsYWNlKCc8L3RoaW5rPicsICc8L2Rpdj4nKSB8fCAnJ1xuICAgICk7XG4gIH07XG5cbiAgcGFyc2VUeXBpbmdDb250ZW50ID0gKGNvbnRlbnQ6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IHsgdHlwaW5nT3B0aW9ucyB9ID0gdGhpcy5nZXRQcm9wcygpO1xuICAgIGNvbnN0IHsgdHlwaW5nSW5kZXggfSA9IHRoaXMuZ2V0U3RhdGVzKCk7XG4gICAgY29udGVudCA9IGNvbnRlbnQuc2xpY2UoMCwgdHlwaW5nSW5kZXgpIHx8ICcnO1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7IC4uLmRlZmF1bHRUeXBpbmdDb25maWcsIC4uLnR5cGluZ09wdGlvbnMgfTtcblxuICAgIGlmIChvcHRpb25zLnN0eWxlID09PSAnY3Vyc29yJykge1xuICAgICAgY29udGVudCArPSBgPHNwYW4gY2xhc3M9XCJtYy10eXBld3JpdGVyIG1jLXR5cGV3cml0ZXItY3Vyc29yXCI+fDwvc3Bhbj5gO1xuICAgIH0gZWxzZSBpZiAob3B0aW9ucy5zdHlsZSA9PT0gJ2NvbG9yJyB8fCBvcHRpb25zLnN0eWxlID09PSAnZ3JhZGllbnQnKSB7XG4gICAgICBjb250ZW50ID1cbiAgICAgICAgY29udGVudC5zbGljZSgwLCAtNSkgK1xuICAgICAgICBgPHNwYW4gY2xhc3M9XCJtYy10eXBld3JpdGVyIG1jLXR5cGV3cml0ZXItJHtcbiAgICAgICAgICBvcHRpb25zLnN0eWxlXG4gICAgICAgIH1cIj4ke2NvbnRlbnQuc2xpY2UoLTUpfTwvc3Bhbj5gO1xuICAgIH1cbiAgICByZXR1cm4gY29udGVudCB8fCAnJztcbiAgfTtcblxuICBwYXJzZUNvbnRlbnQgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb250ZW50LCB0aGlua09wdGlvbnMsIGVuYWJsZVRoaW5rIH0gPSB0aGlzLmdldFByb3BzKCk7XG4gICAgY29uc3QgeyB0eXBpbmcsIGlzVHlwaW5nIH0gPSB0aGlzLmdldFN0YXRlcygpO1xuICAgIGxldCBwYXJzZUNvbnRlbnQgPSBjb250ZW50IHx8ICcnO1xuICAgIGlmICh0eXBpbmcgJiYgaXNUeXBpbmcpIHtcbiAgICAgIHBhcnNlQ29udGVudCA9IHRoaXMucGFyc2VUeXBpbmdDb250ZW50KGNvbnRlbnQpO1xuICAgIH1cblxuICAgIGlmIChlbmFibGVUaGluaykge1xuICAgICAgcGFyc2VDb250ZW50ID0gdGhpcy5nZXRUaGlua0NvbnRlbnQoY29udGVudCwgdGhpbmtPcHRpb25zKTtcbiAgICB9XG5cbiAgICBwYXJzZUNvbnRlbnQgPSB0aGlzLl9hZGFwdGVyLnBhcnNlQ29udGVudChwYXJzZUNvbnRlbnQpO1xuICB9O1xuXG4gIHR5cGV3cml0ZXJTdGFydCA9ICgpID0+IHtcbiAgICBjb25zdCB7IHR5cGluZ09wdGlvbnMgfSA9IHRoaXMuZ2V0UHJvcHMoKTtcbiAgICBjb25zdCB7IHRpbWVyIH0gPSB0aGlzLmdldFN0YXRlcygpO1xuICAgIGlmICh0aW1lcikge1xuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyKTtcbiAgICB9XG5cbiAgICB0aGlzLnNldFN0YXRlKHsgaXNUeXBpbmc6IHRydWUgfSk7XG4gICAgdGhpcy5fYWRhcHRlci50eXBpbmdTdGFydD8uKCk7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHsgLi4uZGVmYXVsdFR5cGluZ0NvbmZpZywgLi4udHlwaW5nT3B0aW9ucyB9O1xuXG4gICAgY29uc3QgdHlwaW5nU3RlcCA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdHlwaW5nSW5kZXgsIGNvbnRlbnQgfSA9IHRoaXMuZ2V0U3RhdGVzKCk7XG5cbiAgICAgIGxldCBzdGVwID0gb3B0aW9ucy5zdGVwIHx8IDI7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShvcHRpb25zLnN0ZXApKSB7XG4gICAgICAgIHN0ZXAgPVxuICAgICAgICAgIG9wdGlvbnMuc3RlcFswXSArXG4gICAgICAgICAgTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKG9wdGlvbnMuc3RlcFsxXSAtIG9wdGlvbnMuc3RlcFswXSkpO1xuICAgICAgfVxuICAgICAgbGV0IGluZGV4ID0gdHlwaW5nSW5kZXggKyBzdGVwO1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IHR5cGluZ0luZGV4OiBpbmRleCB9KTtcbiAgICAgIHRoaXMucGFyc2VDb250ZW50KCk7XG4gICAgICB0aGlzLl9hZGFwdGVyLnR5cGluZ0V2ZW50KCk7XG5cbiAgICAgIGlmIChpbmRleCA+PSBjb250ZW50IS5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy50eXBld3JpdGVyRW5kKCk7XG4gICAgICAgIHRoaXMucGFyc2VDb250ZW50KCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgbGV0IHR5cGluZ1RpbWVvdXQgPSBzZXRUaW1lb3V0KFxuICAgICAgICB0eXBpbmdTdGVwLFxuICAgICAgICB0eXBlb2Ygb3B0aW9ucy5pbnRlcnZhbCA9PT0gJ251bWJlcicgPyBvcHRpb25zLmludGVydmFsIDogNTBcbiAgICAgICk7XG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgdGltZXI6IHR5cGluZ1RpbWVvdXQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgbGV0IHR5cGluZ1N0ZXBUaW1lb3V0ID0gc2V0VGltZW91dCh0eXBpbmdTdGVwKTtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIHRpbWVyOiB0eXBpbmdTdGVwVGltZW91dCxcbiAgICB9KTtcbiAgfTtcbn1cbiJdfQ==
@@ -4,4 +4,5 @@
4
4
  export * from './Bubble/index';
5
5
  export * from './Input/index';
6
6
  export * from './Locale/index';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMtbmcvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGNvbXBvbmVudHMtbmdcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL0J1YmJsZS9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL0lucHV0L2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vTG9jYWxlL2luZGV4JztcbiJdfQ==
7
+ export * from './MarkdownCard/index';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMtbmcvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgY29tcG9uZW50cy1uZ1xuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vQnViYmxlL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vSW5wdXQvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9Mb2NhbGUvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9NYXJrZG93bkNhcmQvaW5kZXgnO1xuIl19