ds-markdown 0.0.13 → 0.0.14-beta.1

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 (37) hide show
  1. package/README.en.md +12 -8
  2. package/README.ja.md +10 -8
  3. package/README.ko.md +10 -8
  4. package/README.md +13 -8
  5. package/dist/cjs/Markdown/index.d.ts +1 -1
  6. package/dist/cjs/Markdown/index.js +12 -4
  7. package/dist/cjs/Markdown/index.js.map +1 -1
  8. package/dist/cjs/MarkdownCMD/index.d.ts +2 -7
  9. package/dist/cjs/MarkdownCMD/index.js +64 -207
  10. package/dist/cjs/MarkdownCMD/index.js.map +1 -1
  11. package/dist/cjs/defined.d.ts +34 -12
  12. package/dist/cjs/hooks/useTypingTask.d.ts +8 -8
  13. package/dist/cjs/hooks/useTypingTask.js +42 -10
  14. package/dist/cjs/hooks/useTypingTask.js.map +1 -1
  15. package/dist/cjs/index.d.ts +4 -2
  16. package/dist/cjs/index.js.map +1 -1
  17. package/dist/cjs/utils/Tokenizer.js +1 -1
  18. package/dist/cjs/utils/Tokenizer.js.map +1 -1
  19. package/dist/cjs/utils/compiler.js +9 -0
  20. package/dist/cjs/utils/compiler.js.map +1 -1
  21. package/dist/esm/Markdown/index.d.ts +1 -1
  22. package/dist/esm/Markdown/index.js +13 -5
  23. package/dist/esm/Markdown/index.js.map +1 -1
  24. package/dist/esm/MarkdownCMD/index.d.ts +2 -7
  25. package/dist/esm/MarkdownCMD/index.js +65 -208
  26. package/dist/esm/MarkdownCMD/index.js.map +1 -1
  27. package/dist/esm/defined.d.ts +34 -12
  28. package/dist/esm/hooks/useTypingTask.d.ts +8 -8
  29. package/dist/esm/hooks/useTypingTask.js +42 -10
  30. package/dist/esm/hooks/useTypingTask.js.map +1 -1
  31. package/dist/esm/index.d.ts +4 -2
  32. package/dist/esm/index.js.map +1 -1
  33. package/dist/esm/utils/Tokenizer.js +1 -1
  34. package/dist/esm/utils/Tokenizer.js.map +1 -1
  35. package/dist/esm/utils/compiler.js +9 -0
  36. package/dist/esm/utils/compiler.js.map +1 -1
  37. package/package.json +2 -2
@@ -1,10 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { forwardRef, useImperativeHandle, useMemo, useRef, useState } from 'react';
2
+ import { forwardRef, useImperativeHandle, useRef, useState } from 'react';
3
3
  import HighReactMarkdown from '../components/HighReactMarkdown/index.js';
4
4
  import classNames from 'classnames';
5
- import { compiler } from '../utils/compiler.js';
6
5
  import { __DEV__ } from '../constant.js';
7
- import deepClone from '../utils/methods/deepClone.js';
8
6
  import { useTypingTask } from '../hooks/useTypingTask.js';
9
7
  const MarkdownCMD = forwardRef(({ interval = 30, onEnd, onStart, onTypedChar, timerType = 'setTimeout', theme = 'light' }, ref) => {
10
8
  /** 当前需要打字的内容 */
@@ -14,83 +12,37 @@ const MarkdownCMD = forwardRef(({ interval = 30, onEnd, onStart, onTypedChar, ti
14
12
  * 如果打字已经完全结束,则不会再触发打字效果
15
13
  */
16
14
  const isWholeTypedEndRef = useRef(false);
17
- /**
18
- * 稳定段落
19
- * 稳定段落是已经打过字,并且不会再变化的段落
20
- */
21
- const [stableSegments, setStableSegments] = useState([]);
22
- /** 当前段落 */
23
- const [currentSegment, setCurrentSegment] = useState(undefined);
24
- /** 当前段落引用 */
25
- const currentParagraphRef = useRef(undefined);
15
+ const charIndexRef = useRef(0);
16
+ /** 整个内容引用 */
17
+ const wholeContentRef = useRef({
18
+ thinking: {
19
+ content: '',
20
+ length: 0,
21
+ },
22
+ answer: {
23
+ content: '',
24
+ length: 0,
25
+ },
26
+ allLength: 0,
27
+ });
28
+ const [, setUpdate] = useState(false);
29
+ const triggerUpdate = () => {
30
+ setUpdate((prev) => !prev);
31
+ };
26
32
  /**
27
33
  * 处理字符显示逻辑
28
34
  */
29
35
  const processCharDisplay = (char) => {
30
- const currentSegment = currentParagraphRef.current;
31
- // debugger;
32
- /** 如果碰到 space,和split_segment 则需要处理成两个段落 */
33
- if (char.contentType === 'space' || char.contentType === 'split_segment') {
34
- if (currentSegment) {
35
- setStableSegments((prev) => {
36
- const newParagraphs = [...prev];
37
- // 放入到稳定队列
38
- if (currentSegment) {
39
- newParagraphs.push({ ...currentSegment, isTyped: false });
40
- }
41
- return newParagraphs;
42
- });
43
- setCurrentSegment(() => undefined);
44
- currentParagraphRef.current = undefined;
45
- }
46
- return;
47
- }
48
- // 处理当前段落
49
- const newCurrentParagraph = {
50
- content: '',
51
- isTyped: false,
52
- type: 'text',
53
- answerType: char.answerType,
54
- tokensReference: {},
55
- };
56
- let _currentParagraph = currentSegment;
57
- if (!_currentParagraph) {
58
- // 如果当前没有段落,则直接设置为新当前段落
59
- _currentParagraph = newCurrentParagraph;
60
- }
61
- else if (currentSegment && currentSegment?.answerType !== char.answerType) {
62
- // 如果当前段落和当前字符的回答类型不一致,则需要处理成两个段落
63
- setStableSegments((prev) => {
64
- const newParagraphs = [...prev];
65
- newParagraphs.push({ ...currentSegment, isTyped: false });
66
- return newParagraphs;
67
- });
68
- _currentParagraph = newCurrentParagraph;
69
- }
70
- const tokensReference = deepClone(_currentParagraph.tokensReference);
71
- if (tokensReference[char.tokenId]) {
72
- tokensReference[char.tokenId].raw += char.content;
73
- tokensReference[char.tokenId].startIndex = currentSegment?.content?.length || 0;
36
+ if (char.answerType === 'thinking') {
37
+ wholeContentRef.current.thinking.content += char.content;
38
+ wholeContentRef.current.thinking.length += 1;
74
39
  }
75
40
  else {
76
- tokensReference[char.tokenId] = {
77
- startIndex: currentSegment?.content?.length || 0,
78
- raw: char.content,
79
- };
41
+ wholeContentRef.current.answer.content += char.content;
42
+ wholeContentRef.current.answer.length += 1;
80
43
  }
81
- const newCurrentSegment = {
82
- ..._currentParagraph,
83
- tokensReference,
84
- content: (currentSegment?.content || '') + char.content,
85
- isTyped: true,
86
- };
87
- currentParagraphRef.current = newCurrentSegment;
88
- setCurrentSegment(() => newCurrentSegment);
44
+ triggerUpdate();
89
45
  };
90
- /** 思考段落 */
91
- const thinkingParagraphs = useMemo(() => stableSegments.filter((paragraph) => paragraph.answerType === 'thinking'), [stableSegments]);
92
- /** 回答段落 */
93
- const answerParagraphs = useMemo(() => stableSegments.filter((paragraph) => paragraph.answerType === 'answer'), [stableSegments]);
94
46
  // 使用新的打字任务 hook
95
47
  const typingTask = useTypingTask({
96
48
  timerType,
@@ -100,20 +52,7 @@ const MarkdownCMD = forwardRef(({ interval = 30, onEnd, onStart, onTypedChar, ti
100
52
  onStart,
101
53
  onTypedChar,
102
54
  processCharDisplay,
103
- });
104
- const lastSegmentRawRef = useRef({
105
- thinkingReference: null,
106
- answerReference: null,
107
- });
108
- const wholeContentRef = useRef({
109
- thinking: {
110
- content: '',
111
- length: 0,
112
- },
113
- answer: {
114
- content: '',
115
- length: 0,
116
- },
55
+ wholeContentRef,
117
56
  });
118
57
  /**
119
58
  * 内部推送处理逻辑
@@ -122,108 +61,18 @@ const MarkdownCMD = forwardRef(({ interval = 30, onEnd, onStart, onTypedChar, ti
122
61
  if (content.length === 0) {
123
62
  return;
124
63
  }
125
- const lastSegmentReference = lastSegmentRawRef.current[`${answerType}Reference`];
126
- if (isWholeTypedEndRef.current) {
127
- if (__DEV__) {
128
- console.warn('打字已经完全结束,不能再添加新的内容');
129
- }
130
- return;
131
- }
132
- const wholeContent = wholeContentRef.current[`${answerType}`] || '';
133
- let currentIndex = wholeContent.length;
134
- let currentLastSegmentReference = null;
135
- let currentLastSegmentRaw = '';
136
- let lastSegmentRaw = '';
137
- if (lastSegmentReference) {
138
- lastSegmentRaw = lastSegmentReference.raw;
139
- currentLastSegmentRaw = lastSegmentRaw + content;
140
- }
141
- else {
142
- currentLastSegmentRaw = content;
143
- }
144
- const tokens = compiler(currentLastSegmentRaw);
145
- // 如果最后一个token是space,则把lastSegmentRaw设置为空
146
- if (tokens[tokens.length - 1].type === 'space') {
147
- currentLastSegmentReference = null;
148
- }
149
- else {
150
- // 如果上一个segment存在并且当前只有一个token,则说明是同一个segment
151
- if (lastSegmentReference !== null && tokens.length === 1) {
152
- const newCurrentLastSegmentReference = lastSegmentReference;
153
- newCurrentLastSegmentReference.raw = newCurrentLastSegmentReference.raw + content;
154
- currentLastSegmentReference = newCurrentLastSegmentReference;
155
- }
156
- else {
157
- currentLastSegmentReference = tokens[tokens.length - 1];
158
- }
159
- }
160
- const pushAndSplitSegment = (raw, tokenIndex, segmentTokenId) => {
161
- const currentToken = tokens[tokenIndex];
162
- if (tokenIndex > 0) {
163
- const prevToken = tokens[tokenIndex - 1];
164
- if (prevToken.type !== 'space' && currentToken.type !== 'space') {
165
- charsRef.current.push({ content: '', answerType, contentType: 'split_segment', tokenId: currentToken.id, index: currentIndex++ });
166
- }
167
- }
168
- charsRef.current.push(...raw.split('').map((char) => ({ content: char, answerType, contentType: 'segment', tokenId: segmentTokenId, index: currentIndex++ })));
169
- };
170
- if (!lastSegmentReference) {
171
- tokens.forEach((token, i) => {
172
- if (token.type === 'space') {
173
- charsRef.current.push(...token.raw.split('').map((char) => ({ content: char, answerType, contentType: 'space', tokenId: token.id, index: currentIndex++ })));
174
- }
175
- else {
176
- pushAndSplitSegment(token.raw, i, token.id);
177
- }
178
- });
179
- }
180
- else {
181
- // debugger;
182
- let str = '';
183
- let firstSpaceIndex = -1;
184
- let nextTokenIndex = lastSegmentRaw.length;
185
- for (let i = 0; i < tokens.length; i++) {
186
- const token = tokens[i];
187
- if (token.type === 'space') {
188
- if (firstSpaceIndex === -1) {
189
- firstSpaceIndex = str.length;
190
- }
191
- str += token.raw;
192
- if (lastSegmentRaw.length > firstSpaceIndex) {
193
- // 如果lastSegmentRaw的长度大于firstSpaceIndex,则需要将当前设置为 segment
194
- charsRef.current.push(...token.raw.split('').map((char) => ({ content: char, answerType, contentType: 'segment', tokenId: token.id, index: currentIndex++ })));
195
- }
196
- else {
197
- charsRef.current.push(...token.raw.split('').map((char) => ({ content: char, answerType, contentType: 'space', tokenId: token.id, index: currentIndex++ })));
198
- }
199
- }
200
- else {
201
- str += token.raw;
202
- if (str.length < nextTokenIndex && i == 0) {
203
- /** 如果当前字符串长度小于下一个token的索引,则需要将当前段落更新, 以修正不完整的token */
204
- const lastSegmentReferenceId = lastSegmentReference.id;
205
- const currentSegment = currentParagraphRef.current;
206
- const tokensReference = currentSegment?.tokensReference || {};
207
- const lastTokenReference = tokensReference[lastSegmentReferenceId];
208
- if (lastTokenReference) {
209
- const newTokensReference = { ...tokensReference, [lastSegmentReferenceId]: { startIndex: lastTokenReference.startIndex, raw: token.raw } };
210
- const newCurrentSegment = { ...currentSegment, tokensReference: newTokensReference, isTyped: false, type: 'text', answerType };
211
- newCurrentSegment.content = Object.values(newTokensReference).reduce((acc, curr) => acc + curr.raw, '');
212
- setCurrentSegment(newCurrentSegment);
213
- currentParagraphRef.current = newCurrentSegment;
214
- }
215
- }
216
- const realRaw = str.slice(nextTokenIndex);
217
- if (realRaw.length > 0) {
218
- pushAndSplitSegment(realRaw, i, lastSegmentReference.id);
219
- }
220
- }
221
- nextTokenIndex = str.length;
222
- }
223
- }
224
- lastSegmentRawRef.current[`${answerType}Reference`] = currentLastSegmentReference;
225
- wholeContent.content = wholeContent.content + content;
226
- wholeContent.length = wholeContent.content.length;
64
+ charsRef.current.push(...content.split('').map((chatStr) => {
65
+ const index = charIndexRef.current++;
66
+ const charObj = {
67
+ content: chatStr,
68
+ answerType,
69
+ contentType: 'segment',
70
+ tokenId: 0,
71
+ index,
72
+ };
73
+ return charObj;
74
+ }));
75
+ wholeContentRef.current.allLength += content.length;
227
76
  if (!typingTask.isTyping()) {
228
77
  typingTask.start();
229
78
  }
@@ -242,20 +91,30 @@ const MarkdownCMD = forwardRef(({ interval = 30, onEnd, onStart, onTypedChar, ti
242
91
  */
243
92
  clear: () => {
244
93
  typingTask.stop();
94
+ typingTask.typedIsManualStopRef.current = false;
245
95
  charsRef.current = [];
246
- setStableSegments([]);
247
- setCurrentSegment(undefined);
96
+ wholeContentRef.current = {
97
+ thinking: {
98
+ content: '',
99
+ length: 0,
100
+ },
101
+ answer: {
102
+ content: '',
103
+ length: 0,
104
+ },
105
+ allLength: 0,
106
+ };
248
107
  isWholeTypedEndRef.current = false;
249
- currentParagraphRef.current = undefined;
250
- typingTask.clear();
251
- // 清理缓冲区
252
- const lastSegmentRef = lastSegmentRawRef.current;
253
- lastSegmentRef.thinkingReference = null;
254
- lastSegmentRef.answerReference = null;
255
- wholeContentRef.current.thinking.content = '';
256
- wholeContentRef.current.thinking.length = 0;
257
- wholeContentRef.current.answer.content = '';
258
- wholeContentRef.current.answer.length = 0;
108
+ charIndexRef.current = 0;
109
+ triggerUpdate();
110
+ },
111
+ /** 停止打字任务 */
112
+ stop: () => {
113
+ typingTask.stop();
114
+ },
115
+ /** 重新开始打字任务 */
116
+ resume: () => {
117
+ typingTask.resume();
259
118
  },
260
119
  /**
261
120
  * 主动触发打字结束
@@ -274,19 +133,17 @@ const MarkdownCMD = forwardRef(({ interval = 30, onEnd, onStart, onTypedChar, ti
274
133
  * 刷新缓冲区 (新增方法)
275
134
  */
276
135
  }));
277
- const getParagraphs = (paragraphs, answerType) => {
278
- return (_jsxs("div", { className: `ds-markdown-paragraph ds-typed-${answerType}`, children: [paragraphs.map((paragraph, index) => {
279
- if (paragraph.type === 'br') {
280
- return null;
281
- }
282
- return (_jsx(HighReactMarkdown, { theme: theme, children: paragraph.content || '' }, index));
283
- }), currentSegment?.answerType === answerType && (_jsx(HighReactMarkdown, { theme: theme, children: currentSegment.content || '' }, currentSegment.content))] }));
136
+ const getParagraphs = (answerType) => {
137
+ return (_jsx("div", { className: `ds-markdown-paragraph ds-typed-${answerType}`, children: _jsx(HighReactMarkdown, { theme: theme, children: wholeContentRef.current[answerType].content || '' }) }));
284
138
  };
285
139
  return (_jsxs("div", { className: classNames({
286
140
  'ds-markdown': true,
287
141
  apple: true,
288
142
  'ds-markdown-dark': theme === 'dark',
289
- }), children: [(thinkingParagraphs.length > 0 || currentSegment?.answerType === 'thinking') && _jsx("div", { className: "ds-markdown-thinking", children: getParagraphs(thinkingParagraphs, 'thinking') }), (answerParagraphs.length > 0 || currentSegment?.answerType === 'answer') && _jsx("div", { className: "ds-markdown-answer", children: getParagraphs(answerParagraphs, 'answer') })] }));
143
+ }), children: [_jsx("div", { className: "ds-markdown-thinking", children: getParagraphs('thinking') }), _jsx("div", { className: "ds-markdown-answer", children: getParagraphs('answer') })] }));
290
144
  });
145
+ if (__DEV__) {
146
+ MarkdownCMD.displayName = 'MarkdownCMD';
147
+ }
291
148
  export default MarkdownCMD;
292
149
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/MarkdownCMD/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAa,mBAAmB,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE9F,OAAO,iBAAiB,MAAM,0CAA0C,CAAC;AACzE,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,SAAS,MAAM,+BAA+B,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAS1D,MAAM,WAAW,GAAG,UAAU,CAAgC,CAAC,EAAE,QAAQ,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,GAAG,YAAY,EAAE,KAAK,GAAG,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE;IAC/J,gBAAgB;IAChB,MAAM,QAAQ,GAAG,MAAM,CAAU,EAAE,CAAC,CAAC;IAErC;;;OAGG;IACH,MAAM,kBAAkB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAEzC;;;OAGG;IACH,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAe,EAAE,CAAC,CAAC;IACvE,WAAW;IACX,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAyB,SAAS,CAAC,CAAC;IACxF,aAAa;IACb,MAAM,mBAAmB,GAAG,MAAM,CAAyB,SAAS,CAAC,CAAC;IAEtE;;OAEG;IACH,MAAM,kBAAkB,GAAG,CAAC,IAAW,EAAE,EAAE;QACzC,MAAM,cAAc,GAAG,mBAAmB,CAAC,OAAO,CAAC;QACnD,YAAY;QACZ,2CAA2C;QAC3C,IAAI,IAAI,CAAC,WAAW,KAAK,OAAO,IAAI,IAAI,CAAC,WAAW,KAAK,eAAe,EAAE,CAAC;YACzE,IAAI,cAAc,EAAE,CAAC;gBACnB,iBAAiB,CAAC,CAAC,IAAI,EAAE,EAAE;oBACzB,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;oBAChC,UAAU;oBACV,IAAI,cAAc,EAAE,CAAC;wBACnB,aAAa,CAAC,IAAI,CAAC,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC5D,CAAC;oBACD,OAAO,aAAa,CAAC;gBACvB,CAAC,CAAC,CAAC;gBACH,iBAAiB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBACnC,mBAAmB,CAAC,OAAO,GAAG,SAAS,CAAC;YAC1C,CAAC;YACD,OAAO;QACT,CAAC;QAED,SAAS;QACT,MAAM,mBAAmB,GAAe;YACtC,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,eAAe,EAAE,EAAE;SACpB,CAAC;QAEF,IAAI,iBAAiB,GAAG,cAAc,CAAC;QACvC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,uBAAuB;YACvB,iBAAiB,GAAG,mBAAmB,CAAC;QAC1C,CAAC;aAAM,IAAI,cAAc,IAAI,cAAc,EAAE,UAAU,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;YAC5E,iCAAiC;YACjC,iBAAiB,CAAC,CAAC,IAAI,EAAE,EAAE;gBACzB,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;gBAChC,aAAa,CAAC,IAAI,CAAC,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC1D,OAAO,aAAa,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,iBAAiB,GAAG,mBAAmB,CAAC;QAC1C,CAAC;QAED,MAAM,eAAe,GAAG,SAAS,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QACrE,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC;YAClD,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,UAAU,GAAG,cAAc,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC;QAClF,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG;gBAC9B,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;gBAChD,GAAG,EAAE,IAAI,CAAC,OAAO;aAClB,CAAC;QACJ,CAAC;QAED,MAAM,iBAAiB,GAAG;YACxB,GAAG,iBAAiB;YACpB,eAAe;YACf,OAAO,EAAE,CAAC,cAAc,EAAE,OAAO,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO;YACvD,OAAO,EAAE,IAAI;SACd,CAAC;QACF,mBAAmB,CAAC,OAAO,GAAG,iBAAiB,CAAC;QAChD,iBAAiB,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEF,WAAW;IACX,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,KAAK,UAAU,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IACtI,WAAW;IACX,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,KAAK,QAAQ,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAElI,gBAAgB;IAChB,MAAM,UAAU,GAAG,aAAa,CAAC;QAC/B,SAAS;QACT,QAAQ;QACR,QAAQ;QACR,KAAK;QACL,OAAO;QACP,WAAW;QACX,kBAAkB;KACnB,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,MAAM,CAG7B;QACD,iBAAiB,EAAE,IAAI;QACvB,eAAe,EAAE,IAAI;KACtB,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,MAAM,CAS3B;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,CAAC;SACV;QACD,MAAM,EAAE;YACN,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,CAAC;SACV;KACF,CAAC,CAAC;IAEH;;OAEG;IACH,MAAM,mBAAmB,GAAG,CAAC,OAAe,EAAE,UAAsB,EAAE,EAAE;QACtE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,UAAU,WAAW,CAAC,CAAC;QAEjF,IAAI,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAC/B,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACrC,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC;QACpE,IAAI,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC;QAEvC,IAAI,2BAA2B,GAAiB,IAAI,CAAC;QACrD,IAAI,qBAAqB,GAAG,EAAE,CAAC;QAC/B,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,IAAI,oBAAoB,EAAE,CAAC;YACzB,cAAc,GAAG,oBAAoB,CAAC,GAAG,CAAC;YAC1C,qBAAqB,GAAG,cAAc,GAAG,OAAO,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,qBAAqB,GAAG,OAAO,CAAC;QAClC,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QAE/C,yCAAyC;QACzC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC/C,2BAA2B,GAAG,IAAI,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,6CAA6C;YAC7C,IAAI,oBAAoB,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzD,MAAM,8BAA8B,GAAG,oBAAoB,CAAC;gBAC5D,8BAA8B,CAAC,GAAG,GAAG,8BAA8B,CAAC,GAAG,GAAG,OAAO,CAAC;gBAClF,2BAA2B,GAAG,8BAA8B,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACN,2BAA2B,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAE,UAAkB,EAAE,cAAsB,EAAE,EAAE;YACtF,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;YACxC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACnB,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;gBACzC,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,IAAI,YAAY,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAChE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;gBACpI,CAAC;YACH,CAAC;YAED,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAI,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC,CAAa,CAAC,CAAC;QAC9K,CAAC,CAAC;QAEF,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC1B,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC3B,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC,CAAa,CAAC,CAAC;gBAC5K,CAAC;qBAAM,CAAC;oBACN,mBAAmB,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,YAAY;YACZ,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC;YACzB,IAAI,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC;YAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAExB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC3B,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE,CAAC;wBAC3B,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC;oBAC/B,CAAC;oBACD,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC;oBACjB,IAAI,cAAc,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;wBAC5C,yDAAyD;wBACzD,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC,CAAa,CAAC,CAAC;oBAC9K,CAAC;yBAAM,CAAC;wBACN,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC,CAAa,CAAC,CAAC;oBAC5K,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC;oBACjB,IAAI,GAAG,CAAC,MAAM,GAAG,cAAc,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC1C,sDAAsD;wBACtD,MAAM,sBAAsB,GAAG,oBAAoB,CAAC,EAAE,CAAC;wBACvD,MAAM,cAAc,GAAG,mBAAmB,CAAC,OAAO,CAAC;wBACnD,MAAM,eAAe,GAAG,cAAc,EAAE,eAAe,IAAI,EAAE,CAAC;wBAC9D,MAAM,kBAAkB,GAAG,eAAe,CAAC,sBAAsB,CAAC,CAAC;wBACnE,IAAI,kBAAkB,EAAE,CAAC;4BACvB,MAAM,kBAAkB,GAAqC,EAAE,GAAG,eAAe,EAAE,CAAC,sBAAsB,CAAC,EAAE,EAAE,UAAU,EAAE,kBAAkB,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC;4BAC7K,MAAM,iBAAiB,GAAe,EAAE,GAAG,cAAc,EAAE,eAAe,EAAE,kBAAkB,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;4BAC3I,iBAAiB,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;4BACxG,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;4BACrC,mBAAmB,CAAC,OAAO,GAAG,iBAAiB,CAAC;wBAClD,CAAC;oBACH,CAAC;oBACD,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;oBAC1C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACvB,mBAAmB,CAAC,OAAO,EAAE,CAAC,EAAE,oBAAoB,CAAC,EAAE,CAAC,CAAC;oBAC3D,CAAC;gBACH,CAAC;gBAED,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,iBAAiB,CAAC,OAAO,CAAC,GAAG,UAAU,WAAW,CAAC,GAAG,2BAA2B,CAAC;QAElF,YAAY,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC;QACtD,YAAY,CAAC,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC;QAElD,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC3B,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;IACH,CAAC,CAAC;IAEF,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9B;;;;WAIG;QACH,IAAI,EAAE,CAAC,OAAe,EAAE,UAAsB,EAAE,EAAE;YAChD,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC3C,CAAC;QACD;;WAEG;QACH,KAAK,EAAE,GAAG,EAAE;YACV,UAAU,CAAC,IAAI,EAAE,CAAC;YAClB,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;YACtB,iBAAiB,CAAC,EAAE,CAAC,CAAC;YACtB,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAC7B,kBAAkB,CAAC,OAAO,GAAG,KAAK,CAAC;YACnC,mBAAmB,CAAC,OAAO,GAAG,SAAS,CAAC;YACxC,UAAU,CAAC,KAAK,EAAE,CAAC;YAEnB,QAAQ;YACR,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC;YACjD,cAAc,CAAC,iBAAiB,GAAG,IAAI,CAAC;YACxC,cAAc,CAAC,eAAe,GAAG,IAAI,CAAC;YAEtC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;YAC9C,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YAC5C,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;YAC5C,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5C,CAAC;QACD;;WAEG;QACH,eAAe,EAAE,GAAG,EAAE;YACpB,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAC3B,8CAA8C;gBAC9C,KAAK,EAAE,CAAC;oBACN,GAAG,EAAE,SAAS;oBACd,UAAU,EAAE,SAAS;iBACtB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD;;WAEG;KACJ,CAAC,CAAC,CAAC;IAEJ,MAAM,aAAa,GAAG,CAAC,UAAwB,EAAE,UAAsB,EAAE,EAAE;QACzE,OAAO,CACL,eAAK,SAAS,EAAE,kCAAkC,UAAU,EAAE,aAC3D,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;oBACnC,IAAI,SAAS,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;wBAC5B,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,OAAO,CACL,KAAC,iBAAiB,IAAC,KAAK,EAAE,KAAK,YAC5B,SAAS,CAAC,OAAO,IAAI,EAAE,IADY,KAAK,CAEvB,CACrB,CAAC;gBACJ,CAAC,CAAC,EACD,cAAc,EAAE,UAAU,KAAK,UAAU,IAAI,CAC5C,KAAC,iBAAiB,IAAC,KAAK,EAAE,KAAK,YAC5B,cAAc,CAAC,OAAO,IAAI,EAAE,IADO,cAAc,CAAC,OAAO,CAExC,CACrB,IACG,CACP,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,CACL,eACE,SAAS,EAAE,UAAU,CAAC;YACpB,aAAa,EAAE,IAAI;YACnB,KAAK,EAAE,IAAI;YACX,kBAAkB,EAAE,KAAK,KAAK,MAAM;SACrC,CAAC,aAED,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,EAAE,UAAU,KAAK,UAAU,CAAC,IAAI,cAAK,SAAS,EAAC,sBAAsB,YAAE,aAAa,CAAC,kBAAkB,EAAE,UAAU,CAAC,GAAO,EAC3K,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,EAAE,UAAU,KAAK,QAAQ,CAAC,IAAI,cAAK,SAAS,EAAC,oBAAoB,YAAE,aAAa,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GAAO,IAC9J,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/MarkdownCMD/index.tsx"],"names":[],"mappings":"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"}
@@ -38,6 +38,15 @@ export interface ITokensReference {
38
38
  startIndex: number;
39
39
  raw: string;
40
40
  }
41
+ export interface IOnTypedCharData {
42
+ currentIndex: number;
43
+ currentChar: string;
44
+ answerType: AnswerType;
45
+ prevStr: string;
46
+ }
47
+ export interface IOnTypedEndCharData extends IOnTypedCharData {
48
+ percent: number;
49
+ }
41
50
  export interface MarkdownProps {
42
51
  /** 计时类型: 支持setTimeout和requestAnimationFrame */
43
52
  timerType?: 'setTimeout' | 'requestAnimationFrame';
@@ -51,23 +60,36 @@ export interface MarkdownProps {
51
60
  answerType?: AnswerType;
52
61
  }) => void;
53
62
  /** 开始打字回调 */
54
- onStart?: (data?: {
55
- currentIndex: number;
56
- currentChar: string;
57
- answerType: AnswerType;
58
- prevStr: string;
59
- }) => void;
63
+ onStart?: (data?: IOnTypedCharData) => void;
60
64
  /**
61
65
  * 打字机打完一个字符回调
62
66
  * @param char 字符
63
67
  * @param index 字符索引
64
68
  */
65
- onTypedChar?: (data?: {
66
- currentIndex: number;
67
- currentChar: string;
68
- answerType: AnswerType;
69
- prevStr: string;
70
- }) => void;
69
+ onTypedChar?: (data?: IOnTypedEndCharData) => void;
71
70
  /** 主题 */
72
71
  theme?: Theme;
73
72
  }
73
+ export interface IWholeContent {
74
+ thinking: {
75
+ content: string;
76
+ length: number;
77
+ };
78
+ answer: {
79
+ content: string;
80
+ length: number;
81
+ };
82
+ allLength: number;
83
+ }
84
+ export interface MarkdownBaseRef {
85
+ stop: () => void;
86
+ resume: () => void;
87
+ }
88
+ /** Markdown 组件的ref 类型 */
89
+ export type MarkdownRef = MarkdownBaseRef;
90
+ /** MarkdownCMD 组件的 ref 类型 */
91
+ export interface MarkdownCMDRef extends MarkdownBaseRef {
92
+ push: (content: string, answerType: AnswerType) => void;
93
+ clear: () => void;
94
+ triggerWholeEnd: () => void;
95
+ }
@@ -1,11 +1,12 @@
1
- import { AnswerType, IChar, MarkdownProps } from '../defined.js';
1
+ import { AnswerType, IChar, IOnTypedEndCharData, IWholeContent, MarkdownProps } from '../defined.js';
2
2
  interface UseTypingTaskOptions {
3
3
  timerType: MarkdownProps['timerType'];
4
4
  interval: number;
5
- charsRef: React.MutableRefObject<IChar[]>;
5
+ charsRef: React.RefObject<IChar[]>;
6
6
  onEnd?: (data?: {
7
7
  str?: string;
8
8
  answerType?: AnswerType;
9
+ manual: boolean;
9
10
  }) => void;
10
11
  onStart?: (data?: {
11
12
  currentIndex: number;
@@ -13,19 +14,18 @@ interface UseTypingTaskOptions {
13
14
  answerType: AnswerType;
14
15
  prevStr: string;
15
16
  }) => void;
16
- onTypedChar?: (data?: {
17
- currentIndex: number;
18
- currentChar: string;
19
- answerType: AnswerType;
20
- prevStr: string;
21
- }) => void;
17
+ onTypedChar?: (data?: IOnTypedEndCharData) => void;
22
18
  processCharDisplay: (char: IChar) => void;
19
+ wholeContentRef: React.RefObject<IWholeContent>;
23
20
  }
24
21
  export interface TypingTaskController {
25
22
  start: () => void;
26
23
  stop: () => void;
27
24
  clear: () => void;
28
25
  isTyping: () => boolean;
26
+ /** 是否主动调用 stop 方法 */
27
+ typedIsManualStopRef: React.RefObject<boolean>;
28
+ resume: () => void;
29
29
  }
30
30
  export declare const useTypingTask: (options: UseTypingTaskOptions) => TypingTaskController;
31
31
  export {};
@@ -1,6 +1,6 @@
1
1
  import { useEffect, useRef } from 'react';
2
2
  export const useTypingTask = (options) => {
3
- const { timerType = 'setTimeout', interval, charsRef, onEnd, onStart, onTypedChar, processCharDisplay } = options;
3
+ const { timerType = 'setTimeout', interval, charsRef, onEnd, onStart, onTypedChar, processCharDisplay, wholeContentRef } = options;
4
4
  /** 是否卸载 */
5
5
  const isUnmountRef = useRef(false);
6
6
  /** 是否正在打字 */
@@ -11,6 +11,11 @@ export const useTypingTask = (options) => {
11
11
  const timerRef = useRef(null);
12
12
  // 已经打过的字记录
13
13
  const typedCharsRef = useRef(undefined);
14
+ // 是否主动调用 stop 方法
15
+ const typedIsManualStopRef = useRef(false);
16
+ const getChars = () => {
17
+ return charsRef.current;
18
+ };
14
19
  useEffect(() => {
15
20
  isUnmountRef.current = false;
16
21
  return () => {
@@ -60,13 +65,14 @@ export const useTypingTask = (options) => {
60
65
  /**
61
66
  * 触发打字结束回调
62
67
  */
63
- const triggerOnEnd = () => {
68
+ const triggerOnEnd = (data) => {
64
69
  if (!onEnd) {
65
70
  return;
66
71
  }
67
72
  onEnd({
68
73
  str: typedCharsRef.current?.typedContent,
69
74
  answerType: typedCharsRef.current?.answerType,
75
+ manual: data?.manual ?? false,
70
76
  });
71
77
  };
72
78
  /**
@@ -81,11 +87,15 @@ export const useTypingTask = (options) => {
81
87
  if (!onTypedChar) {
82
88
  return;
83
89
  }
90
+ const { answerType, content, index } = char;
91
+ const allLength = wholeContentRef.current.allLength;
92
+ const percent = ((char.index + 1) / allLength) * 100;
84
93
  onTypedChar({
85
- currentIndex: typedCharsRef.current?.prevStr.length || 0,
86
- currentChar: char.content,
87
- answerType: char.answerType,
94
+ currentIndex: index,
95
+ currentChar: content,
96
+ answerType: answerType,
88
97
  prevStr: typedCharsRef.current?.prevStr || '',
98
+ percent,
89
99
  });
90
100
  };
91
101
  /** 清除定时器 */
@@ -105,6 +115,10 @@ export const useTypingTask = (options) => {
105
115
  };
106
116
  /** 开始打字任务 */
107
117
  const startTypedTask = () => {
118
+ /** 如果手动调用 stop 方法,则不重新开始打字 */
119
+ if (typedIsManualStopRef.current) {
120
+ return;
121
+ }
108
122
  if (isTypedRef.current) {
109
123
  return;
110
124
  }
@@ -117,9 +131,9 @@ export const useTypingTask = (options) => {
117
131
  };
118
132
  /** requestAnimationFrame 模式 */
119
133
  const startAnimationFrameMode = () => {
120
- const chars = charsRef.current;
121
134
  let lastFrameTime = 0;
122
135
  const frameLoop = (currentTime) => {
136
+ const chars = getChars();
123
137
  if (isUnmountRef.current)
124
138
  return;
125
139
  if (chars.length === 0) {
@@ -161,18 +175,20 @@ export const useTypingTask = (options) => {
161
175
  animationFrameRef.current = requestAnimationFrame(frameLoop);
162
176
  };
163
177
  /** 停止动画帧模式 */
164
- const stopAnimationFrame = () => {
178
+ const stopAnimationFrame = (manual = false) => {
165
179
  isTypedRef.current = false;
166
180
  if (animationFrameRef.current) {
167
181
  cancelAnimationFrame(animationFrameRef.current);
168
182
  animationFrameRef.current = null;
169
183
  }
170
- triggerOnEnd();
184
+ if (!manual) {
185
+ triggerOnEnd({ manual });
186
+ }
171
187
  };
172
188
  /** setTimeout 模式 */
173
189
  const startTimeoutMode = () => {
174
- const chars = charsRef.current;
175
190
  const nextTyped = () => {
191
+ const chars = getChars();
176
192
  if (chars.length === 0) {
177
193
  stopTimeout();
178
194
  return;
@@ -180,6 +196,7 @@ export const useTypingTask = (options) => {
180
196
  timerRef.current = setTimeout(startTyped, interval);
181
197
  };
182
198
  const startTyped = (isStartPoint = false) => {
199
+ const chars = getChars();
183
200
  if (isUnmountRef.current)
184
201
  return;
185
202
  isTypedRef.current = true;
@@ -209,14 +226,29 @@ export const useTypingTask = (options) => {
209
226
  }
210
227
  triggerOnEnd();
211
228
  };
229
+ const stopTask = () => {
230
+ typedIsManualStopRef.current = true;
231
+ if (timerType === 'requestAnimationFrame') {
232
+ stopAnimationFrame();
233
+ }
234
+ else {
235
+ stopTimeout();
236
+ }
237
+ };
238
+ function restartTypedTask() {
239
+ typedIsManualStopRef.current = false;
240
+ startTypedTask();
241
+ }
212
242
  return {
213
243
  start: startTypedTask,
214
- stop: clearTimer,
244
+ stop: stopTask,
245
+ resume: restartTypedTask,
215
246
  clear: () => {
216
247
  clearTimer();
217
248
  typedCharsRef.current = undefined;
218
249
  },
219
250
  isTyping: () => isTypedRef.current,
251
+ typedIsManualStopRef,
220
252
  };
221
253
  };
222
254
  //# sourceMappingURL=useTypingTask.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTypingTask.js","sourceRoot":"","sources":["../../../src/hooks/useTypingTask.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useTypingTask.js","sourceRoot":"","sources":["../../../src/hooks/useTypingTask.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
- import MarkdownCMD, { MarkdownRef } from './MarkdownCMD/index.js';
1
+ import MarkdownCMD from './MarkdownCMD/index.js';
2
2
  import Markdown from './Markdown/index.js';
3
+ import type { MarkdownCMDRef, MarkdownRef } from './defined.js';
3
4
  export default Markdown;
4
- export { Markdown, MarkdownCMD, MarkdownRef };
5
+ export type { MarkdownCMDRef, MarkdownRef };
6
+ export { Markdown, MarkdownCMD };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,WAA4B,MAAM,wBAAwB,CAAC;AAClE,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAE3C,eAAe,QAAQ,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAG3C,eAAe,QAAQ,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC"}