@antv/dumi-theme-antv 0.8.0-beta.1 → 0.8.0-beta.11

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 (81) hide show
  1. package/dist/builtins/Playground/index.module.less +0 -1
  2. package/dist/components/AI/HomeDialog/AntVBanner/index.module.less +2 -2
  3. package/dist/components/AI/HomeDialog/ModeSelector/index.js +4 -1
  4. package/dist/components/AI/HomeDialog/ModeSelector/index.module.less +39 -22
  5. package/dist/components/AI/HomeDialog/PromptTextarea/ChooseLib/index.js +4 -2
  6. package/dist/components/AI/HomeDialog/PromptTextarea/ChooseLib/index.module.less +0 -1
  7. package/dist/components/AI/HomeDialog/PromptTextarea/DatasourceCard/index.module.less +3 -3
  8. package/dist/components/AI/HomeDialog/PromptTextarea/Uploader/DataUploader.js +225 -0
  9. package/dist/components/AI/HomeDialog/PromptTextarea/index.js +74 -43
  10. package/dist/components/AI/HomeDialog/PromptTextarea/index.module.less +9 -8
  11. package/dist/components/AI/HomeDialog/RecommendCase/Card.js +13 -8
  12. package/dist/components/AI/HomeDialog/RecommendCase/card.module.less +1 -1
  13. package/dist/components/AI/HomeDialog/RecommendCase/index.js +46 -14
  14. package/dist/components/AI/HomeDialog/RecommendCase/index.module.less +3 -2
  15. package/dist/components/AI/HomeDialog/index.js +19 -17
  16. package/dist/components/AI/constant.js +2 -2
  17. package/dist/components/Login/Captcha/index.js +185 -0
  18. package/dist/components/Login/Captcha/index.less +91 -0
  19. package/dist/components/Login/CheckCode/index.js +244 -0
  20. package/dist/components/Login/CheckCode/index.less +137 -0
  21. package/dist/components/Login/CountDownButton/index.js +109 -0
  22. package/dist/components/Login/CountDownButton/index.less +8 -0
  23. package/dist/components/Login/LoginForm.js +239 -0
  24. package/dist/components/Login/LoginForm.less +409 -0
  25. package/dist/components/Login/index.js +24 -0
  26. package/dist/components/Login/openAuthWindow.js +54 -0
  27. package/dist/components/Login/types.js +5 -0
  28. package/dist/components/Login/utils.js +47 -0
  29. package/dist/layouts/DocLayout.js +2 -1
  30. package/dist/layouts/GlobalLayout/index.js +10 -4
  31. package/dist/locales/en.json +125 -1
  32. package/dist/locales/zh.json +125 -1
  33. package/dist/model/AIChat.js +72 -8
  34. package/dist/model/auth.js +133 -0
  35. package/dist/pages/AIPlayground/components/ConversationsMenu/index.js +36 -12
  36. package/dist/pages/AIPlayground/components/ConversationsMenu/index.module.less +2 -0
  37. package/dist/pages/AIPlayground/components/MarkdownComponent/MarkdownCodeBlock.js +25 -11
  38. package/dist/pages/AIPlayground/components/MarkdownComponent/MarkdownCodeBlock.module.less +1 -2
  39. package/dist/pages/AIPlayground/components/MarkdownComponent/index.js +5 -2
  40. package/dist/pages/AIPlayground/components/MsgBox/index.js +202 -146
  41. package/dist/pages/AIPlayground/components/MsgBox/index.module.less +3 -2
  42. package/dist/pages/AIPlayground/components/MsgBox/useAutoScroll.js +46 -0
  43. package/dist/pages/AIPlayground/components/SessionLayout/index.js +2 -2
  44. package/dist/pages/AIPlayground/components/SessionLayout/index.module.less +4 -2
  45. package/dist/pages/AIPlayground/components/TaskBox/generateCode.js +7 -1
  46. package/dist/pages/AIPlayground/components/TaskBox/index.js +78 -55
  47. package/dist/pages/AIPlayground/components/TaskBox/index.module.less +1 -0
  48. package/dist/pages/Examples/components/Accouncement/index.module.less +1 -1
  49. package/dist/pages/Examples/index.module.less +11 -11
  50. package/dist/pages/Index/components/Cases/index.module.less +8 -8
  51. package/dist/pages/Index/components/Companies/index.module.less +4 -3
  52. package/dist/pages/Index/components/Features/FeatureCard.module.less +4 -5
  53. package/dist/pages/Index/components/Features/index.module.less +5 -5
  54. package/dist/pages/Index/components/_.less +9 -9
  55. package/dist/plugin/index.js +2 -2
  56. package/dist/slots/Banner/Notification.module.less +8 -8
  57. package/dist/slots/Banner/index.module.less +10 -9
  58. package/dist/slots/CodeEditor/Toolbar.js +15 -9
  59. package/dist/slots/CodeEditor/index.js +35 -12
  60. package/dist/slots/CodeEditor/index.module.less +3 -1
  61. package/dist/slots/CodePreview/index.module.less +0 -3
  62. package/dist/slots/CodeRunner/index.js +5 -2
  63. package/dist/slots/ContentTable/index.module.less +2 -1
  64. package/dist/slots/Detail/News.module.less +9 -9
  65. package/dist/slots/Detail/index.module.less +11 -14
  66. package/dist/slots/ExampleSider/index.module.less +3 -4
  67. package/dist/slots/Footer/index.module.less +2 -2
  68. package/dist/slots/Header/Products/Product.module.less +2 -2
  69. package/dist/slots/Header/Search/SearchResult.js +23 -8
  70. package/dist/slots/Header/Search/SearchResult.module.less +1 -0
  71. package/dist/slots/Header/index.js +72 -12
  72. package/dist/slots/Header/index.module.less +13 -5
  73. package/dist/slots/LiveExample/index.module.less +1 -1
  74. package/dist/slots/Loading/index.module.less +30 -28
  75. package/dist/slots/ManualContent/index.module.less +14 -17
  76. package/dist/slots/_.less +9 -9
  77. package/dist/static/user.svg +3 -0
  78. package/dist/utils/env.js +37 -0
  79. package/dist/utils/index.js +7 -0
  80. package/dist/utils/request.js +42 -0
  81. package/package.json +7 -3
@@ -4,15 +4,16 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
4
4
  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; }
5
5
  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; } }
6
6
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
- import React, { useState } from 'react';
7
+ import React, { useEffect, useState } from 'react';
8
8
  import { DeleteOutlined, EditOutlined, EllipsisOutlined, HistoryOutlined, MenuFoldOutlined, MenuUnfoldOutlined, PlusSquareOutlined, VerticalAlignTopOutlined } from '@ant-design/icons';
9
9
  import { Dropdown, Input, Modal } from 'antd';
10
10
  import { Menu } from 'antd';
11
11
  import styles from "./index.module.less";
12
12
  import { useSnapshot } from 'valtio';
13
- import { AIChatStore, handleDeleteSession, handlePinSession, handleRenameSession } from "../../../../model/AIChat";
14
- import { history } from 'dumi';
13
+ import { AIChatStore, clearEmptySession, createPureNewSession, handleDeleteSession, handlePinSession, handleRenameSession } from "../../../../model/AIChat";
15
14
  import { useSetState } from "ahooks";
15
+ import { useIntl } from 'dumi';
16
+ import { isUUID } from "../../../../utils";
16
17
  export var ConversationsMenu = function ConversationsMenu() {
17
18
  var _useSetState = useSetState({
18
19
  open: false,
@@ -27,29 +28,44 @@ export var ConversationsMenu = function ConversationsMenu() {
27
28
  collapsed = _useState2[0],
28
29
  setCollapsed = _useState2[1];
29
30
  var snap = useSnapshot(AIChatStore);
31
+ useEffect(function () {
32
+ clearEmptySession();
33
+ }, []);
30
34
  var handleSelectSession = function handleSelectSession(sessionId) {
31
- AIChatStore.activeSessionId = sessionId;
35
+ if (isUUID(sessionId)) {
36
+ AIChatStore.activeSessionId = sessionId;
37
+ }
32
38
  };
33
39
  var toggleCollapsed = function toggleCollapsed() {
34
40
  setCollapsed(!collapsed);
35
41
  };
42
+ var _useIntl = useIntl(),
43
+ formatMessage = _useIntl.formatMessage;
36
44
  var items = [{
37
45
  key: 'fold',
38
46
  extra: !collapsed ? /*#__PURE__*/React.createElement(MenuFoldOutlined, null) : null,
39
47
  onClick: toggleCollapsed,
40
48
  label: null,
41
49
  icon: !collapsed ? null : /*#__PURE__*/React.createElement(MenuUnfoldOutlined, null),
42
- title: '展开'
50
+ title: collapsed ? formatMessage({
51
+ id: 'ai.conversations.expand'
52
+ }) : formatMessage({
53
+ id: 'ai.conversations.collapse'
54
+ })
43
55
  }, {
44
56
  key: 'new',
45
57
  icon: /*#__PURE__*/React.createElement(PlusSquareOutlined, null),
46
- label: '开始新对话',
58
+ label: formatMessage({
59
+ id: 'ai.conversations.new'
60
+ }),
47
61
  onClick: function onClick() {
48
- return history.push('/');
62
+ return createPureNewSession();
49
63
  }
50
64
  }, {
51
65
  key: 'history',
52
- label: '历史对话',
66
+ label: formatMessage({
67
+ id: 'ai.conversations.history'
68
+ }),
53
69
  icon: /*#__PURE__*/React.createElement(HistoryOutlined, null),
54
70
  children: snap.sessions.map(function (session) {
55
71
  return {
@@ -62,7 +78,9 @@ export var ConversationsMenu = function ConversationsMenu() {
62
78
  menu: {
63
79
  items: [{
64
80
  key: 'edit',
65
- label: '重命名',
81
+ label: formatMessage({
82
+ id: 'ai.conversations.rename'
83
+ }),
66
84
  icon: /*#__PURE__*/React.createElement(EditOutlined, null),
67
85
  onClick: function onClick(_ref) {
68
86
  var domEvent = _ref.domEvent;
@@ -75,7 +93,9 @@ export var ConversationsMenu = function ConversationsMenu() {
75
93
  }
76
94
  }, {
77
95
  key: 'top',
78
- label: '置顶',
96
+ label: formatMessage({
97
+ id: 'ai.conversations.pin'
98
+ }),
79
99
  icon: /*#__PURE__*/React.createElement(VerticalAlignTopOutlined, null),
80
100
  onClick: function onClick(_ref2) {
81
101
  var domEvent = _ref2.domEvent;
@@ -84,7 +104,9 @@ export var ConversationsMenu = function ConversationsMenu() {
84
104
  }
85
105
  }, {
86
106
  key: 'delete',
87
- label: '删除',
107
+ label: formatMessage({
108
+ id: 'ai.conversations.delete'
109
+ }),
88
110
  icon: /*#__PURE__*/React.createElement(DeleteOutlined, null),
89
111
  onClick: function onClick(_ref3) {
90
112
  var domEvent = _ref3.domEvent;
@@ -118,7 +140,9 @@ export var ConversationsMenu = function ConversationsMenu() {
118
140
  return handleSelectSession(key);
119
141
  }
120
142
  }), /*#__PURE__*/React.createElement(Modal, {
121
- title: "\u7F16\u8F91\u5BF9\u8BDD\u540D\u79F0",
143
+ title: formatMessage({
144
+ id: 'ai.conversations.edit.title'
145
+ }),
122
146
  open: state.open,
123
147
  centered: true,
124
148
  maskClosable: false,
@@ -1,5 +1,6 @@
1
1
  .container {
2
2
  background: #fff;
3
+
3
4
  :global {
4
5
  .ant-menu {
5
6
  width: 16vw;
@@ -38,6 +39,7 @@
38
39
  border-radius: 50%;
39
40
  transition: background-color 0.3s ease;
40
41
  cursor: pointer;
42
+
41
43
  &:hover{
42
44
  background-color: #fbfcfd;
43
45
  }
@@ -10,15 +10,19 @@ import { a11yLight } from "react-syntax-highlighter/dist/cjs/styles/hljs";
10
10
  import { AIChatStore } from "../../../../model/AIChat";
11
11
  import { useCopyToClipboard } from "react-use";
12
12
  import { CheckOutlined, CopyOutlined, PlaySquareOutlined } from "@ant-design/icons";
13
- import { Space, Tooltip } from "antd";
13
+ import { Button, Space, Tooltip } from "antd";
14
14
  import styles from "./MarkdownCodeBlock.module.less";
15
+ import { useIntl } from 'dumi';
15
16
 
16
17
  // 定义 props 类型,它将接收 react-markdown 传递的所有属性
17
18
 
18
19
  export var MarkdownCodeBlock = function MarkdownCodeBlock(_ref) {
19
20
  var inline = _ref.inline,
20
21
  className = _ref.className,
21
- children = _ref.children;
22
+ children = _ref.children,
23
+ _ref$showRunButton = _ref.showRunButton,
24
+ showRunButtonProp = _ref$showRunButton === void 0 ? true : _ref$showRunButton;
25
+ var intl = useIntl();
22
26
  var _useCopyToClipboard = useCopyToClipboard(),
23
27
  _useCopyToClipboard2 = _slicedToArray(_useCopyToClipboard, 2),
24
28
  copyState = _useCopyToClipboard2[0],
@@ -38,7 +42,7 @@ export var MarkdownCodeBlock = function MarkdownCodeBlock(_ref) {
38
42
  var codeString = String(children).replace(/\n$/, '');
39
43
 
40
44
  // 4. 判断是否显示“运行”按钮
41
- var showRunButton = /\bimport\b/.test(codeString);
45
+ var showRunButton = showRunButtonProp && /\bimport\b/.test(codeString);
42
46
 
43
47
  // 5. 定义运行代码的逻辑
44
48
  var handleRunCode = function handleRunCode() {
@@ -55,19 +59,29 @@ export var MarkdownCodeBlock = function MarkdownCodeBlock(_ref) {
55
59
  }, /*#__PURE__*/React.createElement(Space, {
56
60
  className: styles.button
57
61
  }, /*#__PURE__*/React.createElement(Tooltip, {
58
- title: "\u590D\u5236"
59
- }, /*#__PURE__*/React.createElement("button", {
60
- type: "button",
62
+ title: intl.formatMessage({
63
+ id: 'ai.markdown.copy'
64
+ })
65
+ }, /*#__PURE__*/React.createElement(Button, {
66
+ variant: "link",
67
+ size: "small",
61
68
  onClick: function onClick() {
62
69
  return copyToClipboard(codeString);
63
70
  },
64
- title: "\u590D\u5236"
71
+ title: intl.formatMessage({
72
+ id: 'ai.markdown.copy'
73
+ })
65
74
  }, copyState.value === codeString ? /*#__PURE__*/React.createElement(CheckOutlined, null) : /*#__PURE__*/React.createElement(CopyOutlined, null))), showRunButton && /*#__PURE__*/React.createElement(Tooltip, {
66
- title: "\u8FD0\u884C\u6B64\u4EE3\u7801\u7247\u6BB5"
67
- }, /*#__PURE__*/React.createElement("button", {
68
- type: "button",
75
+ title: intl.formatMessage({
76
+ id: 'ai.markdown.run'
77
+ })
78
+ }, /*#__PURE__*/React.createElement(Button, {
79
+ variant: "link",
80
+ size: "small",
69
81
  onClick: handleRunCode,
70
- title: "\u8FD0\u884C\u6B64\u4EE3\u7801\u7247\u6BB5"
82
+ title: intl.formatMessage({
83
+ id: 'ai.markdown.run'
84
+ })
71
85
  }, /*#__PURE__*/React.createElement(PlaySquareOutlined, null)))), /*#__PURE__*/React.createElement(SyntaxHighlighter, {
72
86
  style: a11yLight,
73
87
  language: language,
@@ -3,9 +3,8 @@
3
3
  top: 0.5em;
4
4
  right: 0.5em;
5
5
  z-index: 1;
6
+
6
7
  button {
7
- background-color: #4a4a4a;
8
- color: white;
9
8
  border: none;
10
9
  border-radius: 5px;
11
10
  cursor: pointer;
@@ -9,7 +9,8 @@ import remarkGfm from 'remark-gfm';
9
9
  import { MarkdownCodeBlock } from "./MarkdownCodeBlock"; // 引入我们创建的自定义组件
10
10
 
11
11
  export var MarkdownComponent = function MarkdownComponent(_ref) {
12
- var content = _ref.content;
12
+ var content = _ref.content,
13
+ showRunButton = _ref.showRunButton;
13
14
  return /*#__PURE__*/React.createElement(Markdown, {
14
15
  remarkPlugins: [remarkGfm],
15
16
  rehypePlugins: [rehypeRaw],
@@ -27,7 +28,9 @@ export var MarkdownComponent = function MarkdownComponent(_ref) {
27
28
  },
28
29
  // 2. 【核心】重写 `code` 标签的渲染,使用我们自己的组件
29
30
  code: function code(props) {
30
- return /*#__PURE__*/React.createElement(MarkdownCodeBlock, props);
31
+ return /*#__PURE__*/React.createElement(MarkdownCodeBlock, _extends({
32
+ showRunButton: showRunButton
33
+ }, props));
31
34
  },
32
35
  // 3. 重写非标准 `description` 标签的渲染
33
36
  // @ts-expect-error - 告知 TypeScript 我们知道这是一个自定义的、非标准的 HTML 标签