@lobehub/ui 1.11.0 → 1.11.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.
- package/lib/ActionIcon/index.js +77 -79
- package/lib/ActionIcon/style.js +17 -61
- package/lib/Avatar/index.js +62 -67
- package/lib/Chat/const.js +6 -27
- package/lib/Chat/index.js +24 -28
- package/lib/Chat/store/index.js +46 -40
- package/lib/Chat/store/initialState.js +6 -27
- package/lib/Chat/store/messageReducer.js +51 -58
- package/lib/Chat/store/selectors.js +44 -46
- package/lib/Chat/store/store.js +242 -115
- package/lib/Chat/types.js +4 -16
- package/lib/Chat/utils/fetch.js +104 -68
- package/lib/ContextMenu/MenuItem/icons.js +48 -66
- package/lib/ContextMenu/MenuItem/index.js +73 -66
- package/lib/ContextMenu/MenuItem/style.js +19 -89
- package/lib/ContextMenu/index.js +194 -178
- package/lib/ContextMenu/style.js +17 -85
- package/lib/ContextMenu/types/index.js +15 -18
- package/lib/ContextMenu/types/menuItem.js +4 -16
- package/lib/Conversation/App.js +47 -50
- package/lib/Conversation/ChatList/MessageItem/Content.js +98 -93
- package/lib/Conversation/ChatList/MessageItem/Toolbar.js +94 -104
- package/lib/Conversation/ChatList/MessageItem/index.js +125 -157
- package/lib/Conversation/ChatList/index.js +64 -58
- package/lib/Conversation/InputArea/ActionBar.js +74 -92
- package/lib/Conversation/InputArea/index.js +103 -142
- package/lib/Conversation/StoreUpdater.js +28 -48
- package/lib/Conversation/index.js +30 -42
- package/lib/CopyButton/index.js +37 -62
- package/lib/DraggablePanel/index.js +192 -207
- package/lib/DraggablePanel/style.js +30 -278
- package/lib/DraggablePanel/utils.js +14 -35
- package/lib/EditableMessage/index.js +66 -89
- package/lib/EditableMessageList/index.js +97 -112
- package/lib/EditableText/index.js +36 -49
- package/lib/Highlighter/SyntaxHighlighter/Prism.js +43 -38
- package/lib/Highlighter/SyntaxHighlighter/index.js +62 -53
- package/lib/Highlighter/SyntaxHighlighter/style.js +18 -56
- package/lib/Highlighter/index.js +52 -58
- package/lib/Highlighter/style.js +22 -101
- package/lib/Icon/index.js +29 -36
- package/lib/Input/index.js +45 -43
- package/lib/Input/style.js +17 -67
- package/lib/List/ListItem/index.js +108 -150
- package/lib/List/ListItem/time.js +15 -47
- package/lib/List/index.js +9 -37
- package/lib/Logo/Divider.js +21 -34
- package/lib/Logo/Logo3D.js +17 -33
- package/lib/Logo/LogoFlat.js +108 -118
- package/lib/Logo/LogoHighContrast.js +30 -33
- package/lib/Logo/LogoText.js +21 -34
- package/lib/Logo/index.js +97 -59
- package/lib/Logo/style.js +13 -36
- package/lib/Markdown/Code.js +16 -30
- package/lib/Markdown/CodeBlock.js +33 -65
- package/lib/Markdown/index.js +35 -54
- package/lib/Markdown/style.js +15 -129
- package/lib/MessageInput/index.js +60 -56
- package/lib/MessageModal/index.js +80 -91
- package/lib/SearchBar/index.js +86 -73
- package/lib/SearchBar/style.js +18 -46
- package/lib/SideNav/index.js +43 -31
- package/lib/SideNav/style.js +13 -43
- package/lib/Snippet/index.js +42 -45
- package/lib/Snippet/style.js +13 -71
- package/lib/StroyBook/index.js +60 -61
- package/lib/StroyBook/style.js +19 -87
- package/lib/Swatches/index.js +35 -53
- package/lib/TabsNav/index.js +23 -31
- package/lib/TabsNav/style.js +17 -60
- package/lib/ThemeProvider/GlobalStyle.js +29 -92
- package/lib/ThemeProvider/index.js +43 -57
- package/lib/ThemeSwitch/index.js +62 -46
- package/lib/Tooltip/index.js +26 -31
- package/lib/Tooltip/style.js +13 -49
- package/lib/components/ControlInput.js +86 -87
- package/lib/hooks/useCopied.js +27 -37
- package/lib/hooks/useHighlight.js +65 -70
- package/lib/index.js +211 -120
- package/lib/styles/algorithms/generateColorPalette.js +28 -60
- package/lib/styles/algorithms/generateCustomStylish.js +22 -117
- package/lib/styles/algorithms/generateCustomToken.js +51 -65
- package/lib/styles/algorithms/generateTheme.js +22 -53
- package/lib/styles/colors.js +121 -1766
- package/lib/styles/index.js +23 -32
- package/lib/styles/theme/base.js +11 -32
- package/lib/styles/theme/dark.js +38 -62
- package/lib/styles/theme/light.js +38 -62
- package/lib/types/index.js +4 -16
- package/lib/utils/colorUtils.js +14 -48
- package/package.json +1 -1
|
@@ -1,61 +1,67 @@
|
|
|
1
|
-
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
|
-
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
-
for (let key of __getOwnPropNames(from))
|
|
14
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
-
mod
|
|
26
|
-
));
|
|
27
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
1
|
+
"use strict";
|
|
28
2
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
default: () => ChatList_default
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
33
6
|
});
|
|
34
|
-
|
|
35
|
-
var
|
|
36
|
-
var
|
|
37
|
-
var
|
|
38
|
-
var
|
|
39
|
-
var
|
|
40
|
-
var
|
|
41
|
-
var
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
background:
|
|
51
|
-
border: 2px solid
|
|
52
|
-
|
|
53
|
-
}));
|
|
54
|
-
var ChatList = (0, import_react.memo)(({ readonly, includeSystem = false, style }) => {
|
|
55
|
-
const { styles } = useStyles();
|
|
56
|
-
const [messages, loading] = (0, import_store.useStore)((s) => [s.messages, s.loading], import_fast_deep_equal.default);
|
|
57
|
-
return !messages || messages.length === 0 ? null : /* @__PURE__ */ React.createElement(import_react_layout_kit.Flexbox, { gap: 8, style }, messages.filter((s) => !includeSystem ? s.role !== "system" : !!s).map((item, index) => /* @__PURE__ */ React.createElement(import_MessageItem.default, { readonly, index, key: index, ...item })), loading ? /* @__PURE__ */ React.createElement(import_react_layout_kit.Center, { id: "for-loading", className: styles.loading }, /* @__PURE__ */ React.createElement(import_react_layout_kit.Flexbox, { horizontal: true, distribution: "space-between", align: "center", gap: 24 }, /* @__PURE__ */ React.createElement("div", null), "正在生成...", /* @__PURE__ */ React.createElement("div", null))) : null);
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
11
|
+
var _antdStyle = require("antd-style");
|
|
12
|
+
var _fastDeepEqual = _interopRequireDefault(require("fast-deep-equal"));
|
|
13
|
+
var _react = require("react");
|
|
14
|
+
var _reactLayoutKit = require("react-layout-kit");
|
|
15
|
+
var _store = require("../../Chat/store");
|
|
16
|
+
var _MessageItem = _interopRequireDefault(require("./MessageItem"));
|
|
17
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
+
var _templateObject, _templateObject2;
|
|
19
|
+
var useStyles = (0, _antdStyle.createStyles)(function (_ref) {
|
|
20
|
+
var css = _ref.css,
|
|
21
|
+
token = _ref.token;
|
|
22
|
+
return {
|
|
23
|
+
loading: css(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n padding: 12px;\n background: ", ";\n border-radius: 8px;\n "])), token.colorFillQuaternary),
|
|
24
|
+
btn: css(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n font-size: 12px;\n color: ", ";\n background: transparent;\n border: 2px solid ", " !important;\n "])), token.colorTextSecondary, token.colorBorderSecondary)
|
|
25
|
+
};
|
|
58
26
|
});
|
|
59
|
-
var
|
|
60
|
-
|
|
61
|
-
|
|
27
|
+
var ChatList = /*#__PURE__*/(0, _react.memo)(function (_ref2) {
|
|
28
|
+
var readonly = _ref2.readonly,
|
|
29
|
+
_ref2$includeSystem = _ref2.includeSystem,
|
|
30
|
+
includeSystem = _ref2$includeSystem === void 0 ? false : _ref2$includeSystem,
|
|
31
|
+
style = _ref2.style;
|
|
32
|
+
// const [messages, loading] = useStore((s) => [s.messages, s.loading], isEqual);
|
|
33
|
+
var _useStyles = useStyles(),
|
|
34
|
+
styles = _useStyles.styles;
|
|
35
|
+
var _useStore = (0, _store.useStore)(function (s) {
|
|
36
|
+
return [s.messages, s.loading];
|
|
37
|
+
}, _fastDeepEqual.default),
|
|
38
|
+
_useStore2 = (0, _slicedToArray2.default)(_useStore, 2),
|
|
39
|
+
messages = _useStore2[0],
|
|
40
|
+
loading = _useStore2[1];
|
|
41
|
+
return !messages || messages.length === 0 ? null : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactLayoutKit.Flexbox, {
|
|
42
|
+
gap: 8,
|
|
43
|
+
style: style,
|
|
44
|
+
children: [messages
|
|
45
|
+
// 根据情况确认是否包含系统
|
|
46
|
+
.filter(function (s) {
|
|
47
|
+
return !includeSystem ? s.role !== 'system' : !!s;
|
|
48
|
+
}).map(function (item, index) {
|
|
49
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_MessageItem.default, (0, _objectSpread2.default)({
|
|
50
|
+
readonly: readonly,
|
|
51
|
+
index: index
|
|
52
|
+
}, item), index);
|
|
53
|
+
}), loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactLayoutKit.Center, {
|
|
54
|
+
id: 'for-loading',
|
|
55
|
+
className: styles.loading,
|
|
56
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactLayoutKit.Flexbox, {
|
|
57
|
+
horizontal: true,
|
|
58
|
+
distribution: 'space-between',
|
|
59
|
+
align: 'center',
|
|
60
|
+
gap: 24,
|
|
61
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {}), "\u6B63\u5728\u751F\u6210...", /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {})]
|
|
62
|
+
})
|
|
63
|
+
}) : null]
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
var _default = ChatList;
|
|
67
|
+
exports.default = _default;
|
|
@@ -1,97 +1,79 @@
|
|
|
1
|
-
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
|
-
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
-
for (let key of __getOwnPropNames(from))
|
|
14
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
-
mod
|
|
26
|
-
));
|
|
27
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
1
|
+
"use strict";
|
|
28
2
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = exports.ActionBar = void 0;
|
|
8
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
10
|
+
var _antdStyle = require("antd-style");
|
|
11
|
+
var _react = require("react");
|
|
12
|
+
var _reactLayoutKit = require("react-layout-kit");
|
|
13
|
+
var _shallow = require("zustand/shallow");
|
|
14
|
+
var _ActionIcon = _interopRequireDefault(require("../../ActionIcon"));
|
|
15
|
+
var _antd = require("antd");
|
|
16
|
+
var _lucideReact = require("lucide-react");
|
|
17
|
+
var _store = require("../../Chat/store");
|
|
18
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
|
+
var _templateObject;
|
|
20
|
+
var useStyles = (0, _antdStyle.createStyles)(function (_ref) {
|
|
21
|
+
var css = _ref.css,
|
|
22
|
+
token = _ref.token;
|
|
23
|
+
return {
|
|
24
|
+
extra: css(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n "])), token.colorTextTertiary)
|
|
25
|
+
};
|
|
34
26
|
});
|
|
35
|
-
|
|
36
|
-
var
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
var
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
],
|
|
57
|
-
import_shallow.shallow
|
|
58
|
-
);
|
|
59
|
-
const { styles, theme } = useStyles();
|
|
60
|
-
return totalToken > 0 ? /* @__PURE__ */ React.createElement(import_antd.ConfigProvider, { theme: { token: { colorText: theme.colorTextSecondary } } }, /* @__PURE__ */ React.createElement(
|
|
61
|
-
import_react_layout_kit.Flexbox,
|
|
62
|
-
{
|
|
63
|
-
align: "center",
|
|
64
|
-
direction: "horizontal-reverse",
|
|
27
|
+
var ActionBar = function ActionBar() {
|
|
28
|
+
var _useStore = (0, _store.useStore)(function (s) {
|
|
29
|
+
return [_store.chatSelectors.totalTokenCount(s), _store.chatSelectors.agentTokenCount(s), _store.chatSelectors.messagesTokenCount(s), s.dispatchMessage];
|
|
30
|
+
}, _shallow.shallow),
|
|
31
|
+
_useStore2 = (0, _slicedToArray2.default)(_useStore, 4),
|
|
32
|
+
totalToken = _useStore2[0],
|
|
33
|
+
agentToken = _useStore2[1],
|
|
34
|
+
messagesToken = _useStore2[2],
|
|
35
|
+
dispatchMessage = _useStore2[3];
|
|
36
|
+
var _useStyles = useStyles(),
|
|
37
|
+
styles = _useStyles.styles,
|
|
38
|
+
theme = _useStyles.theme;
|
|
39
|
+
return totalToken > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.ConfigProvider, {
|
|
40
|
+
theme: {
|
|
41
|
+
token: {
|
|
42
|
+
colorText: theme.colorTextSecondary
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactLayoutKit.Flexbox, {
|
|
46
|
+
align: 'center',
|
|
47
|
+
direction: 'horizontal-reverse',
|
|
65
48
|
paddingInline: 12,
|
|
66
49
|
className: styles.extra,
|
|
67
|
-
gap: 8
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
50
|
+
gap: 8,
|
|
51
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Popconfirm, {
|
|
52
|
+
title: '你即将要清空会话,清空后将无法找回。是否清空当前会话?',
|
|
53
|
+
okButtonProps: {
|
|
54
|
+
danger: true
|
|
55
|
+
},
|
|
56
|
+
okText: '清空会话',
|
|
57
|
+
onConfirm: function onConfirm() {
|
|
58
|
+
dispatchMessage({
|
|
59
|
+
type: 'resetMessages'
|
|
60
|
+
});
|
|
61
|
+
},
|
|
62
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ActionIcon.default, {
|
|
63
|
+
title: '清空当前会话',
|
|
64
|
+
size: 'small',
|
|
65
|
+
icon: _lucideReact.EraserIcon
|
|
66
|
+
})
|
|
67
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Tooltip, {
|
|
68
|
+
title: [agentToken > 0 ? "\u89D2\u8272\u5B9A\u4E49: ".concat(agentToken) : null, messagesToken > 0 ? "\u4F1A\u8BDD: ".concat(messagesToken) : null].filter(Boolean).join(' | '),
|
|
69
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactLayoutKit.Flexbox, {
|
|
70
|
+
gap: 4,
|
|
71
|
+
children: [" Tokens: ", totalToken]
|
|
72
|
+
})
|
|
73
|
+
})]
|
|
74
|
+
})
|
|
75
|
+
}) : null;
|
|
92
76
|
};
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
ActionBar
|
|
97
|
-
});
|
|
77
|
+
exports.ActionBar = ActionBar;
|
|
78
|
+
var _default = /*#__PURE__*/(0, _react.memo)(ActionBar);
|
|
79
|
+
exports.default = _default;
|
|
@@ -1,148 +1,109 @@
|
|
|
1
|
-
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
|
-
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
-
for (let key of __getOwnPropNames(from))
|
|
14
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
-
mod
|
|
26
|
-
));
|
|
27
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
1
|
+
"use strict";
|
|
28
2
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
InputArea: () => InputArea,
|
|
33
|
-
default: () => InputArea_default
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
34
6
|
});
|
|
35
|
-
|
|
36
|
-
var
|
|
37
|
-
var
|
|
38
|
-
var
|
|
39
|
-
var
|
|
40
|
-
var
|
|
41
|
-
var
|
|
42
|
-
var
|
|
43
|
-
var
|
|
44
|
-
var
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
);
|
|
88
|
-
const isChineseInput = (0, import_react.useRef)(false);
|
|
89
|
-
const { styles, theme } = useStyles();
|
|
90
|
-
const { mobile } = (0, import_antd_style.useResponsive)();
|
|
91
|
-
const storeApi = (0, import_store.useStoreApi)();
|
|
92
|
-
return /* @__PURE__ */ React.createElement(
|
|
93
|
-
import_antd.ConfigProvider,
|
|
94
|
-
{
|
|
95
|
-
theme: {
|
|
96
|
-
token: {
|
|
97
|
-
borderRadius: 4,
|
|
98
|
-
fontSize: 16,
|
|
99
|
-
colorBgContainer: theme.colorBgElevated,
|
|
100
|
-
controlHeightLG: 48,
|
|
101
|
-
colorBorder: "transparent",
|
|
102
|
-
colorPrimaryHover: "transparent"
|
|
103
|
-
}
|
|
7
|
+
exports.default = exports.InputArea = void 0;
|
|
8
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
|
+
var _objectDestructuringEmpty2 = _interopRequireDefault(require("@babel/runtime/helpers/objectDestructuringEmpty"));
|
|
10
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
11
|
+
var _icons = require("@ant-design/icons");
|
|
12
|
+
var _antd = require("antd");
|
|
13
|
+
var _antdStyle = require("antd-style");
|
|
14
|
+
var _react = require("react");
|
|
15
|
+
var _reactLayoutKit = require("react-layout-kit");
|
|
16
|
+
var _shallow = require("zustand/shallow");
|
|
17
|
+
var _store = require("../../Chat/store");
|
|
18
|
+
var _ActionBar = _interopRequireDefault(require("./ActionBar"));
|
|
19
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
21
|
+
var useStyles = (0, _antdStyle.createStyles)(function (_ref) {
|
|
22
|
+
var css = _ref.css,
|
|
23
|
+
responsive = _ref.responsive,
|
|
24
|
+
token = _ref.token;
|
|
25
|
+
return {
|
|
26
|
+
container: css(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n position: sticky;\n z-index: ", ";\n bottom: 0;\n\n padding-top: 12px;\n padding-bottom: 24px;\n\n background-image: linear-gradient(to top, ", " 88%, transparent 100%);\n\n ", " {\n width: 100%;\n }\n "])), token.zIndexPopupBase, token.colorBgLayout, responsive.mobile),
|
|
27
|
+
boxShadow: css(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n position: relative;\n border-radius: 8px;\n box-shadow: ", ";\n "])), token.boxShadowSecondary),
|
|
28
|
+
input: css(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n width: 100%;\n border-radius: 8px;\n "]))),
|
|
29
|
+
btn: css(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n position: absolute;\n z-index: 10;\n right: 8px;\n bottom: 8px;\n\n color: ", ";\n &:hover {\n color: ", ";\n }\n "])), token.colorTextTertiary, token.colorTextSecondary),
|
|
30
|
+
extra: css(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n "])), token.colorTextTertiary)
|
|
31
|
+
};
|
|
32
|
+
});
|
|
33
|
+
var InputArea = function InputArea(_ref2) {
|
|
34
|
+
(0, _objectDestructuringEmpty2.default)(_ref2);
|
|
35
|
+
var _useStore = (0, _store.useStore)(function (s) {
|
|
36
|
+
return [s.message, s.sendMessage, s.loading, _store.chatSelectors.disableInput(s)];
|
|
37
|
+
}, _shallow.shallow),
|
|
38
|
+
_useStore2 = (0, _slicedToArray2.default)(_useStore, 4),
|
|
39
|
+
message = _useStore2[0],
|
|
40
|
+
sendMessage = _useStore2[1],
|
|
41
|
+
isLoading = _useStore2[2],
|
|
42
|
+
disabled = _useStore2[3];
|
|
43
|
+
var isChineseInput = (0, _react.useRef)(false);
|
|
44
|
+
var _useStyles = useStyles(),
|
|
45
|
+
styles = _useStyles.styles,
|
|
46
|
+
theme = _useStyles.theme;
|
|
47
|
+
var _useResponsive = (0, _antdStyle.useResponsive)(),
|
|
48
|
+
mobile = _useResponsive.mobile;
|
|
49
|
+
var storeApi = (0, _store.useStoreApi)();
|
|
50
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.ConfigProvider, {
|
|
51
|
+
theme: {
|
|
52
|
+
token: {
|
|
53
|
+
borderRadius: 4,
|
|
54
|
+
fontSize: 16,
|
|
55
|
+
colorBgContainer: theme.colorBgElevated,
|
|
56
|
+
controlHeightLG: 48,
|
|
57
|
+
colorBorder: 'transparent',
|
|
58
|
+
colorPrimaryHover: 'transparent'
|
|
104
59
|
}
|
|
105
60
|
},
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
61
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactLayoutKit.Flexbox, {
|
|
62
|
+
gap: 8,
|
|
63
|
+
className: styles.container,
|
|
64
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ActionBar.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactLayoutKit.Flexbox, {
|
|
65
|
+
horizontal: true,
|
|
66
|
+
gap: 8,
|
|
67
|
+
align: 'center',
|
|
68
|
+
className: styles.boxShadow,
|
|
69
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Input.TextArea, {
|
|
70
|
+
size: 'large',
|
|
71
|
+
value: message,
|
|
72
|
+
placeholder: "\u8BF7\u8F93\u5165\u5185\u5BB9...",
|
|
73
|
+
onChange: function onChange(e) {
|
|
74
|
+
storeApi.setState({
|
|
75
|
+
message: e.target.value
|
|
76
|
+
});
|
|
77
|
+
},
|
|
78
|
+
disabled: disabled,
|
|
79
|
+
autoSize: {
|
|
80
|
+
maxRows: 8
|
|
81
|
+
},
|
|
82
|
+
onCompositionStart: function onCompositionStart() {
|
|
83
|
+
isChineseInput.current = true;
|
|
84
|
+
},
|
|
85
|
+
onCompositionEnd: function onCompositionEnd() {
|
|
86
|
+
isChineseInput.current = false;
|
|
87
|
+
},
|
|
88
|
+
className: styles.input,
|
|
89
|
+
onPressEnter: function onPressEnter(e) {
|
|
90
|
+
if (!isLoading && !e.shiftKey && !isChineseInput.current) {
|
|
91
|
+
e.preventDefault();
|
|
92
|
+
sendMessage();
|
|
93
|
+
}
|
|
128
94
|
}
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
}
|
|
141
|
-
)))
|
|
142
|
-
);
|
|
95
|
+
}), mobile ? null : /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Button, {
|
|
96
|
+
disabled: disabled,
|
|
97
|
+
loading: isLoading,
|
|
98
|
+
type: "text",
|
|
99
|
+
className: styles.btn,
|
|
100
|
+
onClick: sendMessage,
|
|
101
|
+
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SendOutlined, {})
|
|
102
|
+
})]
|
|
103
|
+
})]
|
|
104
|
+
})
|
|
105
|
+
});
|
|
143
106
|
};
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
InputArea
|
|
148
|
-
});
|
|
107
|
+
exports.InputArea = InputArea;
|
|
108
|
+
var _default = /*#__PURE__*/(0, _react.memo)(InputArea);
|
|
109
|
+
exports.default = _default;
|
|
@@ -1,52 +1,32 @@
|
|
|
1
|
-
|
|
2
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __export = (target, all) => {
|
|
6
|
-
for (var name in all)
|
|
7
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
-
};
|
|
9
|
-
var __copyProps = (to, from, except, desc) => {
|
|
10
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
-
for (let key of __getOwnPropNames(from))
|
|
12
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
-
}
|
|
15
|
-
return to;
|
|
16
|
-
};
|
|
17
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
1
|
+
"use strict";
|
|
18
2
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
__export(StoreUpdater_exports, {
|
|
22
|
-
default: () => StoreUpdater_default
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
23
5
|
});
|
|
24
|
-
|
|
25
|
-
var
|
|
26
|
-
var
|
|
27
|
-
var StoreUpdater = ({
|
|
28
|
-
updateAt,
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
useStoreUpdater(
|
|
40
|
-
useStoreUpdater(
|
|
41
|
-
useStoreUpdater(
|
|
42
|
-
useStoreUpdater(
|
|
43
|
-
useStoreUpdater(
|
|
44
|
-
useStoreUpdater(
|
|
45
|
-
useStoreUpdater(
|
|
46
|
-
useStoreUpdater(
|
|
47
|
-
useStoreUpdater("updateAt", updateAt);
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _zustandUtils = require("zustand-utils");
|
|
8
|
+
var _store = require("../Chat/store");
|
|
9
|
+
var StoreUpdater = function StoreUpdater(_ref) {
|
|
10
|
+
var updateAt = _ref.updateAt,
|
|
11
|
+
createAt = _ref.createAt,
|
|
12
|
+
title = _ref.title,
|
|
13
|
+
description = _ref.description,
|
|
14
|
+
messages = _ref.messages,
|
|
15
|
+
onAgentChange = _ref.onAgentChange,
|
|
16
|
+
onMessagesChange = _ref.onMessagesChange,
|
|
17
|
+
onResponseFinished = _ref.onResponseFinished,
|
|
18
|
+
onResponseStart = _ref.onResponseStart;
|
|
19
|
+
var useStoreUpdater = (0, _zustandUtils.createStoreUpdater)((0, _store.useStoreApi)());
|
|
20
|
+
useStoreUpdater('onAgentChange', onAgentChange);
|
|
21
|
+
useStoreUpdater('messages', messages);
|
|
22
|
+
useStoreUpdater('onMessagesChange', onMessagesChange);
|
|
23
|
+
useStoreUpdater('onResponseFinished', onResponseFinished);
|
|
24
|
+
useStoreUpdater('onResponseStart', onResponseStart);
|
|
25
|
+
useStoreUpdater('title', title);
|
|
26
|
+
useStoreUpdater('description', description);
|
|
27
|
+
useStoreUpdater('createAt', createAt);
|
|
28
|
+
useStoreUpdater('updateAt', updateAt);
|
|
48
29
|
return null;
|
|
49
30
|
};
|
|
50
|
-
var
|
|
51
|
-
|
|
52
|
-
0 && (module.exports = {});
|
|
31
|
+
var _default = StoreUpdater;
|
|
32
|
+
exports.default = _default;
|