@agentscope-ai/chat 1.1.7 → 1.1.9

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 (65) hide show
  1. package/lib/Accordion/Accordion.js +5 -3
  2. package/lib/Accordion/DeepThinking.js +1 -1
  3. package/lib/Accordion/SoftLightTitle.js +1 -1
  4. package/lib/Accordion/style.js +1 -3
  5. package/lib/Bubble/ScrollToBottom.js +1 -1
  6. package/lib/ChatAnywhere/Header/index.js +1 -1
  7. package/lib/ChatAnywhere/Input/index.js +11 -5
  8. package/lib/ChatAnywhere/SessionList/index.js +1 -1
  9. package/lib/ChatAnywhere/hooks/types.d.ts +10 -0
  10. package/lib/ChatAnywhere/hooks/useInput.d.ts +2 -0
  11. package/lib/ChatAnywhere/hooks/useInput.js +8 -2
  12. package/lib/Conversations/Item.js +1 -1
  13. package/lib/DefaultCards/DeepThinking/index.d.ts +2 -0
  14. package/lib/DefaultCards/Footer/index.js +1 -1
  15. package/lib/DefaultCards/Images/index.js +3 -1
  16. package/lib/DefaultCards/Text/index.js +10 -9
  17. package/lib/DeviceAction/index.d.ts +33 -0
  18. package/lib/DeviceAction/index.js +77 -0
  19. package/lib/ImageGenerator/index.d.ts +12 -0
  20. package/lib/ImageGenerator/index.js +23 -12
  21. package/lib/ImageGenerator/style.js +3 -1
  22. package/lib/Markdown/CodeBlock.js +2 -2
  23. package/lib/Markdown/ImageOrMedia.js +5 -2
  24. package/lib/Markdown/Link.js +3 -3
  25. package/lib/Markdown/Markdown.js +5 -7
  26. package/lib/Markdown/cursor/Dot.js +2 -1
  27. package/lib/Markdown/cursor/Underline.js +2 -1
  28. package/lib/Markdown/index.js +20 -21
  29. package/lib/Markdown/style.js +1 -7
  30. package/lib/Markdown/useTyping.d.ts +4 -0
  31. package/lib/Markdown/useTyping.js +32 -0
  32. package/lib/Mermaid/index.js +30 -26
  33. package/lib/OperateCard/OperateCard.d.ts +31 -0
  34. package/lib/OperateCard/OperateCard.js +74 -0
  35. package/lib/OperateCard/index.d.ts +1 -0
  36. package/lib/OperateCard/index.js +1 -0
  37. package/lib/OperateCard/preset/Rag.d.ts +26 -0
  38. package/lib/OperateCard/preset/Rag.js +47 -0
  39. package/lib/OperateCard/preset/Thinking.d.ts +21 -0
  40. package/lib/OperateCard/preset/Thinking.js +24 -0
  41. package/lib/OperateCard/preset/TodoList.d.ts +24 -0
  42. package/lib/OperateCard/preset/TodoList.js +53 -0
  43. package/lib/OperateCard/preset/ToolCall.d.ts +27 -0
  44. package/lib/OperateCard/preset/ToolCall.js +44 -0
  45. package/lib/OperateCard/preset/WebSearch.d.ts +26 -0
  46. package/lib/OperateCard/preset/WebSearch.js +48 -0
  47. package/lib/OperateCard/preset/index.d.ts +5 -0
  48. package/lib/OperateCard/preset/index.js +5 -0
  49. package/lib/OperateCard/style.d.ts +2 -0
  50. package/lib/OperateCard/style.js +54 -0
  51. package/lib/Provider/index.js +1 -1
  52. package/lib/Sender/ModeSelect/index.d.ts +1 -0
  53. package/lib/Sender/ModeSelect/index.js +5 -4
  54. package/lib/Sender/components/ActionButton.js +1 -1
  55. package/lib/Sender/index.js +1 -2
  56. package/lib/index.d.ts +3 -1
  57. package/lib/index.js +4 -2
  58. package/package.json +4 -4
  59. package/lib/DefaultCards/count/index.d.ts +0 -1
  60. package/lib/DefaultCards/count/index.js +0 -36
  61. package/lib/Markdown/hooks/useTypedEffect.d.ts +0 -6
  62. package/lib/Markdown/hooks/useTypedEffect.js +0 -56
  63. package/lib/index.less +0 -0
  64. /package/lib/{Markdown/hooks → ResponsesAPI}/index.d.ts +0 -0
  65. /package/lib/{Markdown/hooks → ResponsesAPI}/index.js +0 -0
@@ -16,7 +16,7 @@ import BodyContent from "./BodyContent";
16
16
  import SoftLightTitle from "./SoftLightTitle";
17
17
  import useStyle from "./style";
18
18
  import { useProviderContext } from "../Provider";
19
- import { SparkCheckCircleFill, SparkErrorCircleFill, SparkDownLine, SparkUpLine, SparkLoadingLine } from '@agentscope-ai/icons';
19
+ import { SparkCheckCircleFill, SparkErrorCircleFill, SparkDownLine, SparkUpLine, SparkLoadingLine, SparkStopCircleLine } from '@agentscope-ai/icons';
20
20
  import { Transition } from 'react-transition-group';
21
21
  import { jsx as _jsx } from "react/jsx-runtime";
22
22
  import { Fragment as _Fragment } from "react/jsx-runtime";
@@ -33,12 +33,14 @@ function Item(props) {
33
33
  var icon = useMemo(function () {
34
34
  if (props.icon) return props.icon;
35
35
  if (props.status === 'generating') return /*#__PURE__*/_jsx(SparkLoadingLine, {
36
- className: "".concat(prefixCls, "-icon-loading")
36
+ className: "".concat(prefixCls, "-icon-loading"),
37
+ spin: true
37
38
  });
38
39
  if (props.status === 'finished') return /*#__PURE__*/_jsx(SparkCheckCircleFill, {
39
40
  className: "".concat(prefixCls, "-icon-success")
40
41
  });
41
- if (props.status === 'interrupted' || props.status === 'error') return /*#__PURE__*/_jsx(SparkErrorCircleFill, {
42
+ if (props.status === 'interrupted') return /*#__PURE__*/_jsx(SparkStopCircleLine, {});
43
+ if (props.status === 'error') return /*#__PURE__*/_jsx(SparkErrorCircleFill, {
42
44
  className: "".concat(prefixCls, "-icon-error")
43
45
  });
44
46
  }, [props.status, props.icon]);
@@ -8,7 +8,7 @@ export default function (props) {
8
8
  theme = _useProviderContext.theme,
9
9
  getPrefixCls = _useProviderContext.getPrefixCls;
10
10
  var prefixCls = getPrefixCls('accordion-deep-thinking');
11
- var isDarkMode = theme.algorithm === AntdTheme.darkAlgorithm;
11
+ var isDarkMode = (theme === null || theme === void 0 ? void 0 : theme.algorithm) === AntdTheme.darkAlgorithm;
12
12
  var icon = /*#__PURE__*/_jsx("img", {
13
13
  style: {
14
14
  display: 'block',
@@ -5,7 +5,7 @@ export default function (props) {
5
5
  var _useProviderContext = useProviderContext(),
6
6
  theme = _useProviderContext.theme,
7
7
  getPrefixCls = _useProviderContext.getPrefixCls;
8
- var isDarkMode = theme.algorithm === AntdTheme.darkAlgorithm;
8
+ var isDarkMode = (theme === null || theme === void 0 ? void 0 : theme.algorithm) === AntdTheme.darkAlgorithm;
9
9
  var prefixCls = getPrefixCls('accordion-soft-light-title');
10
10
  return /*#__PURE__*/_jsx("div", {
11
11
  className: prefixCls,
@@ -1,14 +1,12 @@
1
1
  var _templateObject;
2
2
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
3
3
  import { createGlobalStyle } from "./..";
4
- export default createGlobalStyle(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n.", "-accordion-group {\n width: 100%;\n\n svg {\n transform: scale(1.25);\n }\n \n .anticon-spin::before,\n .anticon-spin {\n animation-duration: 2s;\n }\n &-icon-success {\n color: ", ";\n }\n\n &-icon-loading {\n animation: ", "-loading 2s linear infinite;\n }\n\n\n @keyframes ", "-loading {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n &-icon-error {\n color: ", ";\n }\n\n &-header {\n display: flex;\n align-items: center;\n gap: 4px;\n color: ", ";\n padding: 6px 12px;\n font-size: 12px;\n cursor: pointer;\n line-height: 18px;\n background-color: ", ";\n\n &-arrow {\n display: flex;\n align-items: center;\n }\n\n &-close {\n border-radius: ", "px;\n border: 1px solid ", ";\n display: inline-flex;\n }\n\n &-icon {\n position: relative;\n display: flex;\n width: 16px;\n height: 16px;\n align-items: center;\n justify-content: center;\n font-size: 14px;\n\n &-line {\n &::before,\n &::after {\n content: '';\n position: absolute;\n width: 1px;\n height: 7px;\n background-color: ", ";\n left: 50%;\n transform: translateX(-50%);\n }\n\n &::before {\n top: -9px;\n }\n\n &::after {\n bottom: -9px;\n }\n }\n\n &-last::after {\n content: none;\n }\n\n &-first::before {\n content: none;\n }\n }\n }\n\n &-open {\n overflow: hidden;\n border-radius: 8px;\n border: 1px solid ", ";\n }\n\n &-body {\n margin: 8px;\n color: ", ";\n font-size: 12px;\n border-radius: 8px;\n overflow: hidden;\n\n .", "-accordion-group-header {\n background-color: transparent;\n }\n\n \n\n .", "-accordion-group-header-close,\n .", "-accordion-group-open {\n border: 1px solid transparent;\n }\n\n .", "-accordion-group-header-close {\n display: flex;\n }\n\n &-inline {\n padding: 8px 0;\n margin: 0;\n background-color: transparent;\n }\n\n > .", "-accordion-group {\n background-color: ", ";\n\n &-open {\n border-radius: 0;\n }\n }\n\n &-close {\n height: 0;\n padding: 0;\n margin: 0;\n }\n }\n}\n\n.", "-accordion-deep-thinking {\n font-size: 12px;\n color: ", ";\n text-align: left;\n white-space: pre-wrap;\n line-height: 20px;\n padding: 0 12px;\n border-left: 1px solid ", ";\n}\n\n.", "-accordion-soft-light-title {\n font-size: 12px;\n position: relative;\n display: inline-block;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n mask-image: linear-gradient(\n 270deg,\n rgba(231, 231, 237, 0.88) 20%,\n rgba(231, 231, 237, 0.5) 50%,\n rgba(255, 255, 255, 0.4) 52%,\n rgba(231, 231, 237, 0.5) 70%,\n rgba(231, 231, 237, 0.88) 80%\n );\n mask-size: 200% 100%;\n animation: softlight-text 3s linear infinite;\n}\n\n\n@keyframes softlight-text {\n 0% {\n mask-position: 100% 0;\n }\n\n 100% {\n mask-position: -100% 0;\n }\n}\n\n.", "-accordion-content-body {\n border: 1px solid ", ";\n border-radius: 8px;\n overflow: hidden;\n &-header {\n display: flex;\n height: 24px;\n align-items: center;\n justify-content: space-between;\n padding: 0 12px;\n border-bottom: 1px solid ", ";\n background-color: ", ";\n color: ", ";\n }\n\n &-body {\n background-color: ", ";\n }\n}\n"])), function (p) {
4
+ export default createGlobalStyle(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n.", "-accordion-group {\n width: 100%;\n\n svg {\n transform: scale(1.25);\n }\n \n .anticon-spin::before,\n .anticon-spin {\n animation-duration: 2s;\n }\n &-icon-success {\n color: ", ";\n }\n\n \n\n\n @keyframes ", "-loading {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n &-icon-error {\n color: ", ";\n }\n\n &-header {\n display: flex;\n align-items: center;\n gap: 4px;\n color: ", ";\n padding: 6px 12px;\n font-size: 12px;\n cursor: pointer;\n line-height: 20px;\n background-color: ", ";\n\n &-arrow {\n display: flex;\n align-items: center;\n }\n\n &-close {\n border-radius: ", "px;\n border: 1px solid ", ";\n display: inline-flex;\n }\n\n &-icon {\n position: relative;\n display: flex;\n width: 16px;\n height: 16px;\n align-items: center;\n justify-content: center;\n font-size: 14px;\n\n &-line {\n &::before,\n &::after {\n content: '';\n position: absolute;\n width: 1px;\n height: 7px;\n background-color: ", ";\n left: 50%;\n transform: translateX(-50%);\n }\n\n &::before {\n top: -9px;\n }\n\n &::after {\n bottom: -9px;\n }\n }\n\n &-last::after {\n content: none;\n }\n\n &-first::before {\n content: none;\n }\n }\n }\n\n &-open {\n overflow: hidden;\n border-radius: 8px;\n border: 1px solid ", ";\n }\n\n &-body {\n margin: 8px;\n color: ", ";\n font-size: 12px;\n border-radius: 8px;\n overflow: hidden;\n\n .", "-accordion-group-header {\n background-color: transparent;\n }\n\n \n\n .", "-accordion-group-header-close,\n .", "-accordion-group-open {\n border: 0;\n }\n\n .", "-accordion-group-header-close {\n display: flex;\n }\n\n &-inline {\n padding: 8px 0;\n margin: 0;\n background-color: transparent;\n }\n\n > .", "-accordion-group {\n background-color: ", ";\n\n &-open {\n border-radius: 0;\n }\n }\n\n &-close {\n height: 0;\n padding: 0;\n margin: 0;\n }\n }\n}\n\n.", "-accordion-deep-thinking {\n font-size: 12px;\n color: ", ";\n text-align: left;\n white-space: pre-wrap;\n line-height: 20px;\n padding: 0 12px;\n border-left: 1px solid ", ";\n}\n\n.", "-accordion-soft-light-title {\n font-size: 12px;\n position: relative;\n display: inline-block;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n mask-image: linear-gradient(\n 270deg,\n rgba(231, 231, 237, 0.88) 20%,\n rgba(231, 231, 237, 0.5) 50%,\n rgba(255, 255, 255, 0.4) 52%,\n rgba(231, 231, 237, 0.5) 70%,\n rgba(231, 231, 237, 0.88) 80%\n );\n mask-size: 200% 100%;\n animation: softlight-text 3s linear infinite;\n}\n\n\n@keyframes softlight-text {\n 0% {\n mask-position: 100% 0;\n }\n\n 100% {\n mask-position: -100% 0;\n }\n}\n\n.", "-accordion-content-body {\n border: 1px solid ", ";\n border-radius: 8px;\n overflow: hidden;\n &-header {\n display: flex;\n height: 24px;\n align-items: center;\n justify-content: space-between;\n padding: 0 12px;\n border-bottom: 1px solid ", ";\n background-color: ", ";\n color: ", ";\n }\n\n &-body {\n background-color: ", ";\n }\n}\n"])), function (p) {
5
5
  return p.prefix;
6
6
  }, function (p) {
7
7
  return p.theme.colorSuccess;
8
8
  }, function (p) {
9
9
  return p.prefix;
10
- }, function (p) {
11
- return p.prefix;
12
10
  }, function (p) {
13
11
  return p.theme.colorError;
14
12
  }, function (p) {
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { useProviderContext } from "./..";
3
3
  import cls from 'classnames';
4
4
  import { useStickToBottomContext } from 'use-stick-to-bottom';
5
- import { IconButton } from "@ali/agentscope-ai-design";
5
+ import { IconButton } from "@agentscope-ai/design";
6
6
  import { SparkDownArrowLine } from '@agentscope-ai/icons';
7
7
  import { jsx as _jsx } from "react/jsx-runtime";
8
8
  var ScrollToBottomButton = function ScrollToBottomButton(_, ref) {
@@ -4,7 +4,7 @@ import { isMobileHook } from "../Layout";
4
4
  import { useChatAnywhere } from "../hooks/ChatAnywhereProvider";
5
5
  import { useSessionList } from "../hooks/useSessionList";
6
6
  import useStyle from "./style";
7
- import { IconButton } from "@ali/agentscope-ai-design";
7
+ import { IconButton } from "@agentscope-ai/design";
8
8
  import { SparkOperateLeftLine, SparkOperateRightLine } from "@agentscope-ai/icons";
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
10
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -13,14 +13,14 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
13
13
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
14
14
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
15
15
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
16
- import React, { forwardRef, useRef } from 'react';
16
+ import React, { forwardRef, useEffect } from 'react';
17
17
  import { useProviderContext, ChatInput, Sender, Attachments } from "../..";
18
18
  import cls from 'classnames';
19
19
  import { useChatAnywhere } from "../hooks/ChatAnywhereProvider";
20
20
  import { useInput } from "../hooks/useInput";
21
21
  import { Upload } from 'antd';
22
22
  import useStyle from "./style";
23
- import { IconButton } from "@ali/agentscope-ai-design";
23
+ import { IconButton } from "@agentscope-ai/design";
24
24
  import { jsx as _jsx } from "react/jsx-runtime";
25
25
  import { createElement as _createElement } from "react";
26
26
  import { Fragment as _Fragment } from "react/jsx-runtime";
@@ -34,11 +34,14 @@ export default /*#__PURE__*/forwardRef(function (_, ref) {
34
34
  var onUpload = useChatAnywhere(function (v) {
35
35
  return v.onUpload;
36
36
  });
37
- var resetData = useRef(new Array((onUpload === null || onUpload === void 0 ? void 0 : onUpload.length) || 0).fill([]));
38
- var _React$useState3 = React.useState(resetData.current),
37
+ var resetData = new Array((onUpload === null || onUpload === void 0 ? void 0 : onUpload.length) || 0).fill([]);
38
+ var _React$useState3 = React.useState(resetData),
39
39
  _React$useState4 = _slicedToArray(_React$useState3, 2),
40
40
  attachedFiles = _React$useState4[0],
41
41
  setAttachedFiles = _React$useState4[1];
42
+ useEffect(function () {
43
+ setAttachedFiles(resetData);
44
+ }, [resetData.length]);
42
45
  var inputContext = useInput();
43
46
  var uiConfig = useChatAnywhere(function (v) {
44
47
  return v.uiConfig;
@@ -69,6 +72,9 @@ export default /*#__PURE__*/forwardRef(function (_, ref) {
69
72
  setInputContent: setContent
70
73
  };
71
74
  }, []);
75
+ useEffect(function () {
76
+ inputContext.setDisabled(onInput.disabled);
77
+ }, [onInput.disabled]);
72
78
  if (onInput.hide) return null;
73
79
  var handleFileChange = /*#__PURE__*/function () {
74
80
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(index, fileList) {
@@ -171,7 +177,7 @@ export default /*#__PURE__*/forwardRef(function (_, ref) {
171
177
  fileList: submitFileList
172
178
  });
173
179
  setContent('');
174
- setAttachedFiles(resetData.current);
180
+ setAttachedFiles(resetData);
175
181
  case 8:
176
182
  case "end":
177
183
  return _context2.stop();
@@ -2,7 +2,7 @@ import React, { useEffect } from 'react';
2
2
  import { Conversations } from "../..";
3
3
  import cls from 'classnames';
4
4
  import { useProviderContext } from "../..";
5
- import { Button, IconButton } from "@ali/agentscope-ai-design";
5
+ import { Button, IconButton } from "@agentscope-ai/design";
6
6
  import { useChatAnywhere } from "../hooks/ChatAnywhereProvider";
7
7
  import { useSessionList } from "../hooks/useSessionList";
8
8
  import { useMessages } from "../hooks/useMessages";
@@ -159,6 +159,11 @@ export interface IChatAnywhereConfigOnInput {
159
159
  * @descriptionEn Placeholder text for the input field
160
160
  */
161
161
  placeholder?: string;
162
+ /**
163
+ * @description 输入框是否禁用
164
+ * @descriptionEn Whether the input field is disabled
165
+ */
166
+ disabled?: boolean;
162
167
  }
163
168
  export interface IChatAnywhereConfigOnUpload {
164
169
  /**
@@ -196,6 +201,11 @@ export interface IChatAnywhereConfigOnUpload {
196
201
  * @descriptionEn Icon for the upload button
197
202
  */
198
203
  icon?: string | React.ReactElement;
204
+ /**
205
+ * @description 是否禁用上传组件
206
+ * @descriptionEn Whether to disable the upload component
207
+ */
208
+ disabled?: boolean;
199
209
  }
200
210
  export interface IChatAnywhereConfig {
201
211
  /**
@@ -4,4 +4,6 @@ export declare function useInput(): {
4
4
  disabled: boolean;
5
5
  setLoading: React.Dispatch<React.SetStateAction<boolean>>;
6
6
  setDisabled: React.Dispatch<React.SetStateAction<boolean>>;
7
+ getLoading: () => boolean;
8
+ getDisabled: () => boolean;
7
9
  };
@@ -3,7 +3,9 @@ export function useInput() {
3
3
  var _useChatAnywhere = useChatAnywhere(function (v) {
4
4
  return {
5
5
  loading: v.loading,
6
+ getLoading: v.getLoading,
6
7
  disabled: v.disabled,
8
+ getDisabled: v.getDisabled,
7
9
  setLoading: v.setLoading,
8
10
  setDisabled: v.setDisabled
9
11
  };
@@ -11,11 +13,15 @@ export function useInput() {
11
13
  loading = _useChatAnywhere.loading,
12
14
  disabled = _useChatAnywhere.disabled,
13
15
  setLoading = _useChatAnywhere.setLoading,
14
- setDisabled = _useChatAnywhere.setDisabled;
16
+ setDisabled = _useChatAnywhere.setDisabled,
17
+ getLoading = _useChatAnywhere.getLoading,
18
+ getDisabled = _useChatAnywhere.getDisabled;
15
19
  return {
16
20
  loading: loading,
17
21
  disabled: disabled,
18
22
  setLoading: setLoading,
19
- setDisabled: setDisabled
23
+ setDisabled: setDisabled,
24
+ getLoading: getLoading,
25
+ getDisabled: getDisabled
20
26
  };
21
27
  }
@@ -18,7 +18,7 @@ import classnames from 'classnames';
18
18
  import React, { useEffect, useMemo, useRef, useState } from 'react';
19
19
  import pickAttrs from 'rc-util/lib/pickAttrs';
20
20
  import { SparkMoreLine } from '@agentscope-ai/icons';
21
- import { IconButton } from "@ali/agentscope-ai-design";
21
+ import { IconButton } from "@agentscope-ai/design";
22
22
  import { jsx as _jsx } from "react/jsx-runtime";
23
23
  import { jsxs as _jsxs } from "react/jsx-runtime";
24
24
  var stopPropagation = function stopPropagation(e) {
@@ -1,6 +1,8 @@
1
1
  interface IProps {
2
2
  data: {
3
+ block?: boolean;
3
4
  title?: string;
5
+ subTitle?: string;
4
6
  loading?: boolean;
5
7
  content?: string;
6
8
  className?: string;
@@ -2,7 +2,7 @@ var _templateObject;
2
2
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
3
3
  import React from 'react';
4
4
  import { createGlobalStyle, useProviderContext } from "../..";
5
- import { IconButton } from "@ali/agentscope-ai-design";
5
+ import { IconButton } from "@agentscope-ai/design";
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
7
7
  import { jsxs as _jsxs } from "react/jsx-runtime";
8
8
  import { Fragment as _Fragment } from "react/jsx-runtime";
@@ -5,7 +5,9 @@ import { Space, Image as AntdImage, ConfigProvider } from 'antd';
5
5
  import { jsx as _jsx } from "react/jsx-runtime";
6
6
  import { Fragment as _Fragment } from "react/jsx-runtime";
7
7
  import { jsxs as _jsxs } from "react/jsx-runtime";
8
- var useStyle = createGlobalStyle(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n.", "-bubble-image {\n border-radius: 8px;\n overflow: hidden;\n\n .", "-image-img {\n object-fit: cover;\n }\n\n .", "-image-mask-info {\n span {\n margin-inline-end: 0 !important;\n }\n }\n}\n"])), function (p) {
8
+ var useStyle = createGlobalStyle(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n.", "-bubble-image {\n border-radius: 8px;\n overflow: hidden;\n\n .", "-image {\n display: block;\n }\n .", "-image-img {\n object-fit: cover;\n }\n\n .", "-image-mask-info {\n span {\n margin-inline-end: 0 !important;\n }\n }\n}\n"])), function (p) {
9
+ return p.prefix;
10
+ }, function (p) {
9
11
  return p.prefix;
10
12
  }, function (p) {
11
13
  return p.prefix;
@@ -1,14 +1,15 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
1
7
  import React from 'react';
2
8
  import { Markdown } from "../..";
3
9
  import { jsx as _jsx } from "react/jsx-runtime";
4
10
  export default function (props) {
5
- return /*#__PURE__*/_jsx(Markdown, {
6
- raw: props.data.raw,
7
- content: props.data.content,
8
- cursor: props.data.msgStatus === 'generating',
9
- typing: props.data.typing,
10
- citations: props.data.citations,
11
- citationsMap: props.data.citationsMap,
12
- className: props.data.className
13
- });
11
+ var cursor = props.data.msgStatus === 'generating';
12
+ return /*#__PURE__*/_jsx(Markdown, _objectSpread({
13
+ cursor: cursor
14
+ }, props.data));
14
15
  }
@@ -0,0 +1,33 @@
1
+ export interface IDeviceActionProps {
2
+ /**
3
+ * @description 时间
4
+ * @descriptionEn Time
5
+ * @default ''
6
+ */
7
+ time?: string;
8
+ /**
9
+ * @description 动作
10
+ * @descriptionEn Action
11
+ * @default ''
12
+ */
13
+ action: 'Click' | 'Swipe' | 'Type' | 'Back' | 'Home' | 'Done' | 'Wait' | 'call_user';
14
+ /**
15
+ * @description 动作名称,通常不用传入,会根据 action 自动生成
16
+ * @descriptionEn Action Name, usually not passed in, will be generated automatically based on action
17
+ * @default ''
18
+ */
19
+ actionName?: string;
20
+ /**
21
+ * @description 描述
22
+ * @descriptionEn Description
23
+ * @default ''
24
+ */
25
+ description: string;
26
+ /**
27
+ * @description 操作截图
28
+ * @descriptionEn Operation Screenshot
29
+ * @default ''
30
+ */
31
+ image?: string;
32
+ }
33
+ export default function (props: IDeviceActionProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,77 @@
1
+ import { OperateCard, useProviderContext } from "./..";
2
+ import { SparkCheckCircleLine, SparkEditLine, SparkHomeLine, SparkLoadingLine, SparkSortLine, SparkTargetLine, SparkUndoLine } from '@agentscope-ai/icons';
3
+ import { ConfigProvider, Image } from 'antd';
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ import { jsxs as _jsxs } from "react/jsx-runtime";
6
+ var actionMap = {
7
+ Click: {
8
+ name: '点击',
9
+ icon: /*#__PURE__*/_jsx(SparkTargetLine, {})
10
+ },
11
+ Swipe: {
12
+ name: '滑动',
13
+ icon: /*#__PURE__*/_jsx(SparkSortLine, {})
14
+ },
15
+ Type: {
16
+ name: '输入',
17
+ icon: /*#__PURE__*/_jsx(SparkEditLine, {})
18
+ },
19
+ Back: {
20
+ name: '返回',
21
+ icon: /*#__PURE__*/_jsx(SparkUndoLine, {})
22
+ },
23
+ Home: {
24
+ name: '主页',
25
+ icon: /*#__PURE__*/_jsx(SparkHomeLine, {})
26
+ },
27
+ Done: {
28
+ name: '完成',
29
+ icon: /*#__PURE__*/_jsx(SparkCheckCircleLine, {})
30
+ },
31
+ Wait: {
32
+ name: '等待',
33
+ icon: /*#__PURE__*/_jsx(SparkLoadingLine, {})
34
+ }
35
+ };
36
+ export default function (props) {
37
+ var _useProviderContext = useProviderContext(),
38
+ getPrefixCls = _useProviderContext.getPrefixCls;
39
+ var prefixCls = getPrefixCls('operate-card');
40
+ return /*#__PURE__*/_jsxs("div", {
41
+ children: [/*#__PURE__*/_jsx("div", {
42
+ className: "".concat(prefixCls, "-device-action-time"),
43
+ children: props.time
44
+ }), /*#__PURE__*/_jsx(OperateCard, {
45
+ header: {
46
+ className: "".concat(prefixCls, "-device-action"),
47
+ icon: actionMap[props.action].icon,
48
+ title: /*#__PURE__*/_jsxs("div", {
49
+ className: "".concat(prefixCls, "-device-action-content"),
50
+ children: [/*#__PURE__*/_jsxs("div", {
51
+ className: "".concat(prefixCls, "-device-action-description"),
52
+ children: [/*#__PURE__*/_jsx("span", {
53
+ children: props.actionName || actionMap[props.action].name
54
+ }), /*#__PURE__*/_jsx("span", {
55
+ children: props.description
56
+ })]
57
+ }), /*#__PURE__*/_jsx("div", {
58
+ className: "".concat(prefixCls, "-device-action-image"),
59
+ children: /*#__PURE__*/_jsx(ConfigProvider, {
60
+ locale: {
61
+ Image: {
62
+ preview: ''
63
+ }
64
+ },
65
+ children: /*#__PURE__*/_jsx(Image, {
66
+ src: props.image,
67
+ alt: props.description,
68
+ width: '100%',
69
+ height: '100%'
70
+ })
71
+ })
72
+ })]
73
+ })
74
+ }
75
+ })]
76
+ });
77
+ }
@@ -36,6 +36,18 @@ export interface IImageGeneratorProps {
36
36
  * @default null
37
37
  */
38
38
  skeleton?: ReactNode;
39
+ /**
40
+ * @description 自定义骨架屏组件的加载态提示
41
+ * @descriptionEn Custom skeleton screen component prompt text
42
+ * @default 'Painting...'
43
+ */
44
+ skeletonText?: string;
45
+ /**
46
+ * @description 是否为块级元素,使得图片宽高比为 width / height
47
+ * @descriptionEn Whether to be a block element, make the image width / height ratio
48
+ * @default false
49
+ */
50
+ block?: boolean;
39
51
  }
40
52
  declare const ImageGenerator: React.FC<IImageGeneratorProps>;
41
53
  export default ImageGenerator;
@@ -12,7 +12,9 @@ var ImageGenerator = function ImageGenerator(props) {
12
12
  var _useProviderContext = useProviderContext(),
13
13
  getPrefixCls = _useProviderContext.getPrefixCls;
14
14
  var prefixCls = getPrefixCls('image-generator');
15
- var _props$width = props.width,
15
+ var block = props.block,
16
+ skeletonText = props.skeletonText,
17
+ _props$width = props.width,
16
18
  width = _props$width === void 0 ? 320 : _props$width,
17
19
  _props$height = props.height,
18
20
  height = _props$height === void 0 ? 320 : _props$height,
@@ -24,19 +26,31 @@ var ImageGenerator = function ImageGenerator(props) {
24
26
  var skeleton = props.skeleton || /*#__PURE__*/_jsxs("div", {
25
27
  className: "".concat(prefixCls, "-default-skeleton"),
26
28
  style: {
27
- width: width,
28
- height: height
29
+ width: '100%',
30
+ height: '100%'
29
31
  },
30
32
  children: [/*#__PURE__*/_jsx("img", {
31
33
  className: "".concat(prefixCls, "-default-skeleton-bg"),
32
34
  src: "https://img.alicdn.com/imgextra/i2/O1CN01jwLfwV1hPiHfJjQXM_!!6000000004270-2-tps-1155-763.png",
33
35
  alt: ""
34
- }), /*#__PURE__*/_jsx("img", {
35
- className: "".concat(prefixCls, "-default-skeleton-icon"),
36
- src: "https://img.alicdn.com/imgextra/i2/O1CN01M1X8yM1MWUC7u3Go5_!!6000000001442-54-tps-72-72.apng"
36
+ }), /*#__PURE__*/_jsxs("div", {
37
+ className: "".concat(prefixCls, "-default-skeleton-content"),
38
+ children: [/*#__PURE__*/_jsx("img", {
39
+ className: "".concat(prefixCls, "-default-skeleton-icon"),
40
+ src: "https://img.alicdn.com/imgextra/i2/O1CN01M1X8yM1MWUC7u3Go5_!!6000000001442-54-tps-72-72.apng"
41
+ }), skeletonText && /*#__PURE__*/_jsx("div", {
42
+ className: "".concat(prefixCls, "-default-skeleton-text"),
43
+ children: skeletonText
44
+ })]
37
45
  })]
38
46
  });
39
47
  var loading = !src;
48
+ var size = block ? {
49
+ aspectRatio: "".concat(width, "/").concat(height)
50
+ } : {
51
+ width: width,
52
+ height: height
53
+ };
40
54
  return /*#__PURE__*/_jsxs(_Fragment, {
41
55
  children: [/*#__PURE__*/_jsx(Style, {}), /*#__PURE__*/_jsxs("div", {
42
56
  className: prefixCls,
@@ -52,10 +66,7 @@ var ImageGenerator = function ImageGenerator(props) {
52
66
  }) : doneText]
53
67
  }), /*#__PURE__*/_jsx("div", {
54
68
  className: "".concat(prefixCls, "-wrapper"),
55
- style: {
56
- width: width,
57
- height: height
58
- },
69
+ style: size,
59
70
  children: loading ? skeleton : /*#__PURE__*/_jsx(ConfigProvider, {
60
71
  locale: {
61
72
  Image: {
@@ -63,8 +74,8 @@ var ImageGenerator = function ImageGenerator(props) {
63
74
  }
64
75
  },
65
76
  children: /*#__PURE__*/_jsx(Image, {
66
- height: height,
67
- width: width,
77
+ width: '100%',
78
+ height: '100%',
68
79
  src: src
69
80
  })
70
81
  })
@@ -1,7 +1,7 @@
1
1
  var _templateObject;
2
2
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
3
3
  import { createGlobalStyle } from "./..";
4
- export default createGlobalStyle(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n.", "-image-generator {\n\n .", "-image {\n border-radius: 8px;\n filter: blur(20px);\n animation: ", "clearBlur 1s ease forwards;\n overflow: hidden;\n }\n\n\n &-wrapper {\n overflow: hidden;\n }\n\n\n &-text {\n position: relative;\n display: flex;\n gap: 8px;\n height: 40px;\n align-items: center;\n font-size: 14px;\n line-height: 26px;\n color: ", ";\n\n\n &-success {\n color: ", ";\n font-size: 20px;\n }\n }\n\n &-default-skeleton {\n position: relative;\n overflow: hidden;\n border-radius: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n\n\n &-bg {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%) rotate(0deg);\n width: 300%;\n height: 300%;\n object-fit: cover;\n animation: ", "spin 6s linear infinite;\n pointer-events: none;\n }\n\n &-icon {\n width: 32px;\n height: 32px;\n z-index: 1;\n }\n }\n}\n\n\n\n@keyframes ", "clearBlur {\n from {\n filter: blur(20px);\n }\n to {\n filter: blur(0);\n }\n}\n\n@keyframes ", "spin {\n from {\n transform: translate(-50%, -50%) rotate(0deg);\n }\n to {\n transform: translate(-50%, -50%) rotate(360deg);\n }\n}\n"])), function (p) {
4
+ export default createGlobalStyle(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n.", "-image-generator {\n\n .", "-image {\n border-radius: 8px;\n filter: blur(20px);\n animation: ", "clearBlur 1s ease forwards;\n overflow: hidden;\n }\n\n\n &-wrapper {\n overflow: hidden;\n }\n\n\n &-text {\n position: relative;\n display: flex;\n gap: 8px;\n height: 40px;\n align-items: center;\n font-size: 14px;\n line-height: 26px;\n color: ", ";\n\n\n &-success {\n color: ", ";\n font-size: 20px;\n }\n }\n\n &-default-skeleton {\n position: relative;\n overflow: hidden;\n border-radius: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n\n\n &-bg {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%) rotate(0deg);\n width: 300%;\n height: 300%;\n object-fit: cover;\n animation: ", "spin 6s linear infinite;\n pointer-events: none;\n }\n\n &-icon {\n width: 32px;\n height: 32px;\n } \n\n &-content {\n display: flex;\n flex-direction: column;\n gap: 4px;\n align-items: center;\n justify-content: center;\n z-index: 1;\n \n }\n\n &-text {\n margin-top: 8px;\n font-size: 14px;\n color: ", ";\n }\n }\n}\n\n\n\n@keyframes ", "clearBlur {\n from {\n filter: blur(20px);\n }\n to {\n filter: blur(0);\n }\n}\n\n@keyframes ", "spin {\n from {\n transform: translate(-50%, -50%) rotate(0deg);\n }\n to {\n transform: translate(-50%, -50%) rotate(360deg);\n }\n}\n"])), function (p) {
5
5
  return p.prefix;
6
6
  }, function (p) {
7
7
  return p.prefix;
@@ -13,6 +13,8 @@ export default createGlobalStyle(_templateObject || (_templateObject = _taggedTe
13
13
  return p.theme.colorSuccess;
14
14
  }, function (p) {
15
15
  return p.prefix;
16
+ }, function (p) {
17
+ return p.theme.colorBgBase;
16
18
  }, function (p) {
17
19
  return p.prefix;
18
20
  }, function (p) {
@@ -7,7 +7,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
7
7
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
8
8
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9
9
  import React, { useState } from 'react';
10
- import { CodeBlock as Code, CodeBlockLangExtensionsMap } from "@ali/agentscope-ai-design";
10
+ import { CodeBlock as Code, CodeBlockLangExtensionsMap } from "@agentscope-ai/design";
11
11
  import { createStyles } from 'antd-style';
12
12
  import { useProviderContext, Mermaid } from "./..";
13
13
  import { theme as AntdTheme } from 'antd';
@@ -45,7 +45,7 @@ var CodeBlock = function CodeBlock(_ref) {
45
45
  var _useProviderContext = useProviderContext(),
46
46
  getPrefixCls = _useProviderContext.getPrefixCls,
47
47
  theme = _useProviderContext.theme;
48
- var isDarkMode = theme.algorithm === AntdTheme.darkAlgorithm;
48
+ var isDarkMode = (theme === null || theme === void 0 ? void 0 : theme.algorithm) === AntdTheme.darkAlgorithm;
49
49
  var _useState = useState(false),
50
50
  _useState2 = _slicedToArray(_useState, 2),
51
51
  copied = _useState2[0],
@@ -70,8 +70,11 @@ function Video(props) {
70
70
  return setOpen(true);
71
71
  },
72
72
  className: prefixCls,
73
- children: /*#__PURE__*/_jsx(SparkPlayCircleFill, {
74
- className: "".concat(prefixCls, "-play")
73
+ children: /*#__PURE__*/_jsx("div", {
74
+ className: "".concat(prefixCls, "-poster"),
75
+ children: /*#__PURE__*/_jsx(SparkPlayCircleFill, {
76
+ className: "".concat(prefixCls, "-play")
77
+ })
75
78
  })
76
79
  }), /*#__PURE__*/_jsx(Modal, {
77
80
  closeIcon: /*#__PURE__*/_jsx("a", {
@@ -18,9 +18,9 @@ var Link = function Link(props) {
18
18
  target = props.target,
19
19
  citationsData = props.citationsData,
20
20
  children = props.children;
21
- if (children === 'cursor' && (href === 'dot' || href === 'underline')) {
22
- if (href === 'dot') return /*#__PURE__*/_jsx(Dot, {});
23
- if (href === 'underline') return /*#__PURE__*/_jsx(Underline, {});
21
+ if (children === '.' && (href === '.' || href === '_')) {
22
+ if (href === '.') return /*#__PURE__*/_jsx(Dot, {});
23
+ if (href === '_') return /*#__PURE__*/_jsx(Underline, {});
24
24
  }
25
25
  var match = href === null || href === void 0 || (_href$startsWith = href.startsWith) === null || _href$startsWith === void 0 ? void 0 : _href$startsWith.call(href, 'citation-');
26
26
  if (match) {
@@ -47,8 +47,8 @@ var Markdown = /*#__PURE__*/memo(function (_ref) {
47
47
 
48
48
  // 计算缓存键
49
49
  var cacheKey = useMemo(function () {
50
- return "".concat(children, "-").concat(enableLatex, "-").concat(enableCustomFootnotes, "-").concat(Object.keys(citationsData).length);
51
- }, [children, enableLatex, enableCustomFootnotes, citationsData]);
50
+ return "".concat(children, "-").concat(cursor, "-").concat(enableLatex, "-").concat(enableCustomFootnotes, "-").concat(Object.keys(citationsData).length);
51
+ }, [children, cursor, enableLatex, enableCustomFootnotes, citationsData]);
52
52
 
53
53
  // 处理内容并利用缓存避免重复计算
54
54
  var escapedContent = useMemo(function () {
@@ -65,16 +65,14 @@ var Markdown = /*#__PURE__*/memo(function (_ref) {
65
65
  } else {
66
66
  processedContent = fixMarkdownBold(children);
67
67
  }
68
-
69
- // 缓存处理结果
70
- addToCache(cacheKey, processedContent);
71
68
  if (cursor) {
72
69
  if (typeof cursor === 'string') {
73
- processedContent = processedContent + " [cursor](".concat(cursor, ")");
70
+ processedContent = processedContent + " [.](".concat(cursor === 'dot' ? '.' : '_', ")");
74
71
  } else {
75
- processedContent = processedContent + " [cursor](dot)";
72
+ processedContent = processedContent + " [.](.)";
76
73
  }
77
74
  }
75
+ addToCache(cacheKey, processedContent);
78
76
  return processedContent;
79
77
  }, [cacheKey, children, cursor, enableLatex, enableCustomFootnotes, citationsData]);
80
78
 
@@ -1,6 +1,7 @@
1
1
  var _templateObject;
2
2
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
3
3
  import { createGlobalStyle, useProviderContext } from "../..";
4
+ import classNames from 'classnames';
4
5
  import { jsx as _jsx } from "react/jsx-runtime";
5
6
  import { jsxs as _jsxs } from "react/jsx-runtime";
6
7
  import { Fragment as _Fragment } from "react/jsx-runtime";
@@ -18,7 +19,7 @@ export default function () {
18
19
  var Style = useStyle();
19
20
  return /*#__PURE__*/_jsxs(_Fragment, {
20
21
  children: [/*#__PURE__*/_jsx(Style, {}), /*#__PURE__*/_jsxs("span", {
21
- className: prefixCls,
22
+ className: classNames(prefixCls, getPrefixCls('markdown-cursor')),
22
23
  children: [/*#__PURE__*/_jsx("span", {
23
24
  style: {
24
25
  opacity: 0,
@@ -2,6 +2,7 @@ var _templateObject;
2
2
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
3
3
  import React from 'react';
4
4
  import { createGlobalStyle, useProviderContext } from "../..";
5
+ import classNames from 'classnames';
5
6
  import { jsx as _jsx } from "react/jsx-runtime";
6
7
  import { Fragment as _Fragment } from "react/jsx-runtime";
7
8
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -13,7 +14,7 @@ export default function () {
13
14
  var Style = useStyle();
14
15
  return /*#__PURE__*/_jsxs(_Fragment, {
15
16
  children: [/*#__PURE__*/_jsx(Style, {}), /*#__PURE__*/_jsx("span", {
16
- className: prefixCls
17
+ className: classNames(prefixCls, getPrefixCls('markdown-cursor'))
17
18
  })]
18
19
  });
19
20
  }