@lobehub/ui 1.103.3 → 1.104.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/es/ChatList/Item.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { ChatMessage } from "../types/chatMessage";
|
|
|
4
4
|
import { LLMRoleType } from "../types/llm";
|
|
5
5
|
import { type ActionsBarProps } from './ActionsBar';
|
|
6
6
|
export type OnMessageChange = (id: string, content: string) => void;
|
|
7
|
-
export type OnActionClick = (
|
|
7
|
+
export type OnActionClick = (props: ChatMessage) => void;
|
|
8
8
|
export type RenderRole = LLMRoleType | 'default' | string;
|
|
9
9
|
export type RenderItem = FC<{
|
|
10
10
|
key: string;
|
|
@@ -21,13 +21,15 @@ export interface ListItemProps {
|
|
|
21
21
|
/**
|
|
22
22
|
* @description 点击操作按钮的回调函数
|
|
23
23
|
*/
|
|
24
|
-
|
|
24
|
+
onActionsClick?: {
|
|
25
|
+
[role: RenderRole]: OnActionClick;
|
|
26
|
+
};
|
|
25
27
|
/**
|
|
26
28
|
* @description 消息变化的回调函数
|
|
27
29
|
*/
|
|
28
30
|
onMessageChange?: OnMessageChange;
|
|
29
31
|
renderActions?: {
|
|
30
|
-
[
|
|
32
|
+
[actionKey: string]: RenderAction;
|
|
31
33
|
};
|
|
32
34
|
/**
|
|
33
35
|
* @description 渲染错误消息的函数
|
package/es/ChatList/Item.js
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
2
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
4
|
-
var _excluded = ["renderMessagesExtra", "showTitle", "
|
|
4
|
+
var _excluded = ["renderMessagesExtra", "showTitle", "onActionsClick", "onMessageChange", "type", "text", "renderMessages", "renderErrorMessages", "renderActions", "loading", "groupNav", "renderItems"];
|
|
5
5
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
6
6
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
7
7
|
import { App } from 'antd';
|
|
8
|
-
import
|
|
8
|
+
import _copy from 'copy-to-clipboard';
|
|
9
9
|
import { memo, useCallback, useMemo, useState } from 'react';
|
|
10
10
|
import ChatItem from "../ChatItem";
|
|
11
11
|
import ActionsBar from "./ActionsBar";
|
|
12
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
13
|
var Item = /*#__PURE__*/memo(function (props) {
|
|
14
|
+
var _item$error2;
|
|
14
15
|
var renderMessagesExtra = props.renderMessagesExtra,
|
|
15
16
|
showTitle = props.showTitle,
|
|
16
|
-
|
|
17
|
+
onActionsClick = props.onActionsClick,
|
|
17
18
|
onMessageChange = props.onMessageChange,
|
|
18
19
|
type = props.type,
|
|
19
20
|
text = props.text,
|
|
@@ -37,85 +38,104 @@ var Item = /*#__PURE__*/memo(function (props) {
|
|
|
37
38
|
if (!renderFunction && renderItems !== null && renderItems !== void 0 && renderItems['default']) renderFunction = renderItems['default'];
|
|
38
39
|
if (!renderFunction) return;
|
|
39
40
|
return renderFunction;
|
|
40
|
-
}, [renderItems
|
|
41
|
-
var
|
|
41
|
+
}, [renderItems === null || renderItems === void 0 ? void 0 : renderItems[item.role]]);
|
|
42
|
+
var RenderMessage = useCallback(function (_ref) {
|
|
43
|
+
var editableContent = _ref.editableContent,
|
|
44
|
+
data = _ref.data;
|
|
42
45
|
if (!renderMessages || !(item !== null && item !== void 0 && item.role)) return;
|
|
43
46
|
var RenderFunction;
|
|
44
47
|
if (renderMessages !== null && renderMessages !== void 0 && renderMessages[item.role]) RenderFunction = renderMessages[item.role];
|
|
45
48
|
if (!RenderFunction && renderMessages !== null && renderMessages !== void 0 && renderMessages['default']) RenderFunction = renderMessages['default'];
|
|
46
49
|
if (!RenderFunction) return;
|
|
47
|
-
return /*#__PURE__*/_jsx(RenderFunction, _objectSpread(_objectSpread({},
|
|
50
|
+
return /*#__PURE__*/_jsx(RenderFunction, _objectSpread(_objectSpread({}, data), {}, {
|
|
48
51
|
editableContent: editableContent
|
|
49
52
|
}));
|
|
50
|
-
}, [renderMessages
|
|
51
|
-
var MessageExtra = useCallback(function () {
|
|
53
|
+
}, [renderMessages === null || renderMessages === void 0 ? void 0 : renderMessages[item.role]]);
|
|
54
|
+
var MessageExtra = useCallback(function (_ref2) {
|
|
55
|
+
var data = _ref2.data;
|
|
52
56
|
if (!renderMessagesExtra || !(item !== null && item !== void 0 && item.role)) return;
|
|
53
57
|
var RenderFunction;
|
|
54
58
|
if (renderMessagesExtra !== null && renderMessagesExtra !== void 0 && renderMessagesExtra[item.role]) RenderFunction = renderMessagesExtra[item.role];
|
|
55
59
|
if (renderMessagesExtra !== null && renderMessagesExtra !== void 0 && renderMessagesExtra['default']) RenderFunction = renderMessagesExtra['default'];
|
|
56
60
|
if (!RenderFunction && !RenderFunction) return;
|
|
57
|
-
return /*#__PURE__*/_jsx(RenderFunction, _objectSpread({},
|
|
58
|
-
}, [renderMessagesExtra
|
|
59
|
-
var ErrorMessage = useCallback(function () {
|
|
61
|
+
return /*#__PURE__*/_jsx(RenderFunction, _objectSpread({}, data));
|
|
62
|
+
}, [renderMessagesExtra === null || renderMessagesExtra === void 0 ? void 0 : renderMessagesExtra[item.role]]);
|
|
63
|
+
var ErrorMessage = useCallback(function (_ref3) {
|
|
60
64
|
var _item$error;
|
|
65
|
+
var data = _ref3.data;
|
|
61
66
|
if (!renderErrorMessages || !(item !== null && item !== void 0 && (_item$error = item.error) !== null && _item$error !== void 0 && _item$error.type)) return;
|
|
62
67
|
var RenderFunction;
|
|
63
68
|
if (renderErrorMessages !== null && renderErrorMessages !== void 0 && renderErrorMessages[item.error.type]) RenderFunction = renderErrorMessages[item.error.type];
|
|
64
69
|
if (!RenderFunction && renderErrorMessages !== null && renderErrorMessages !== void 0 && renderErrorMessages['default']) RenderFunction = renderErrorMessages['default'];
|
|
65
70
|
if (!RenderFunction) return;
|
|
66
|
-
return /*#__PURE__*/_jsx(RenderFunction, _objectSpread({},
|
|
67
|
-
}, [renderErrorMessages
|
|
68
|
-
var
|
|
71
|
+
return /*#__PURE__*/_jsx(RenderFunction, _objectSpread({}, data));
|
|
72
|
+
}, [renderErrorMessages === null || renderErrorMessages === void 0 ? void 0 : renderErrorMessages[item === null || item === void 0 ? void 0 : (_item$error2 = item.error) === null || _item$error2 === void 0 ? void 0 : _item$error2.type]]);
|
|
73
|
+
var _onActionClick = useCallback(function (actionKey, data) {
|
|
74
|
+
if (!actionKey) return;
|
|
75
|
+
var handleActionClick = _objectSpread({
|
|
76
|
+
copy: function copy(data) {
|
|
77
|
+
_copy(data.content);
|
|
78
|
+
message.success((text === null || text === void 0 ? void 0 : text.copySuccess) || 'Copy Success');
|
|
79
|
+
},
|
|
80
|
+
edit: function edit() {
|
|
81
|
+
return setEditing(true);
|
|
82
|
+
}
|
|
83
|
+
}, onActionsClick);
|
|
84
|
+
return function () {
|
|
85
|
+
var _handleActionClick$ac;
|
|
86
|
+
return handleActionClick === null || handleActionClick === void 0 ? void 0 : (_handleActionClick$ac = handleActionClick[actionKey]) === null || _handleActionClick$ac === void 0 ? void 0 : _handleActionClick$ac.call(handleActionClick, data);
|
|
87
|
+
};
|
|
88
|
+
}, [onActionsClick === null || onActionsClick === void 0 ? void 0 : onActionsClick[item.role], text]);
|
|
89
|
+
var Actions = useCallback(function (_ref4) {
|
|
90
|
+
var data = _ref4.data;
|
|
69
91
|
if (!renderActions || !(item !== null && item !== void 0 && item.role)) return;
|
|
70
92
|
var RenderFunction;
|
|
71
93
|
if (renderActions !== null && renderActions !== void 0 && renderActions[item.role]) RenderFunction = renderActions[item.role];
|
|
72
94
|
if (renderActions !== null && renderActions !== void 0 && renderActions['default']) RenderFunction = renderActions['default'];
|
|
73
95
|
if (!RenderFunction) RenderFunction = ActionsBar;
|
|
74
|
-
return /*#__PURE__*/_jsx(RenderFunction, _objectSpread(_objectSpread({},
|
|
96
|
+
return /*#__PURE__*/_jsx(RenderFunction, _objectSpread(_objectSpread({}, data), {}, {
|
|
75
97
|
onActionClick: function onActionClick(actionKey) {
|
|
76
|
-
|
|
77
|
-
case 'copy':
|
|
78
|
-
{
|
|
79
|
-
copy(item.content);
|
|
80
|
-
message.success((text === null || text === void 0 ? void 0 : text.copySuccess) || 'Copy Success');
|
|
81
|
-
break;
|
|
82
|
-
}
|
|
83
|
-
case 'edit':
|
|
84
|
-
{
|
|
85
|
-
setEditing(true);
|
|
86
|
-
break;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
_onActionClick === null || _onActionClick === void 0 ? void 0 : _onActionClick(actionKey, item.id);
|
|
98
|
+
return _onActionClick(actionKey, data);
|
|
90
99
|
},
|
|
91
100
|
text: text
|
|
92
101
|
}));
|
|
93
|
-
}, [renderActions
|
|
102
|
+
}, [renderActions === null || renderActions === void 0 ? void 0 : renderActions[item.role], text, _onActionClick]);
|
|
94
103
|
var error = useMemo(function () {
|
|
95
|
-
var _item$
|
|
104
|
+
var _item$error3;
|
|
96
105
|
if (!item.error) return;
|
|
97
106
|
return {
|
|
98
|
-
message: (_item$
|
|
107
|
+
message: (_item$error3 = item.error) === null || _item$error3 === void 0 ? void 0 : _item$error3.message
|
|
99
108
|
};
|
|
100
109
|
}, [item.error]);
|
|
101
110
|
if (RenderItem) return /*#__PURE__*/_jsx(RenderItem, _objectSpread({}, props), item.id);
|
|
102
111
|
return /*#__PURE__*/_jsx(ChatItem, {
|
|
103
|
-
actions: /*#__PURE__*/_jsx(Actions, {
|
|
112
|
+
actions: /*#__PURE__*/_jsx(Actions, {
|
|
113
|
+
data: item
|
|
114
|
+
}),
|
|
104
115
|
avatar: item.meta,
|
|
105
116
|
avatarAddon: groupNav,
|
|
106
117
|
editing: editing,
|
|
107
118
|
error: error,
|
|
108
|
-
errorMessage: /*#__PURE__*/_jsx(ErrorMessage, {
|
|
119
|
+
errorMessage: /*#__PURE__*/_jsx(ErrorMessage, {
|
|
120
|
+
data: item
|
|
121
|
+
}),
|
|
109
122
|
loading: loading,
|
|
110
123
|
message: item.content,
|
|
111
|
-
messageExtra: /*#__PURE__*/_jsx(MessageExtra, {
|
|
124
|
+
messageExtra: /*#__PURE__*/_jsx(MessageExtra, {
|
|
125
|
+
data: item
|
|
126
|
+
}),
|
|
112
127
|
onChange: function onChange(value) {
|
|
113
128
|
return onMessageChange === null || onMessageChange === void 0 ? void 0 : onMessageChange(item.id, value);
|
|
114
129
|
},
|
|
115
130
|
onEditingChange: setEditing,
|
|
116
131
|
placement: type === 'chat' ? item.role === 'user' ? 'right' : 'left' : 'left',
|
|
117
132
|
primary: item.role === 'user',
|
|
118
|
-
renderMessage:
|
|
133
|
+
renderMessage: function renderMessage(editableContent) {
|
|
134
|
+
return /*#__PURE__*/_jsx(RenderMessage, {
|
|
135
|
+
data: item,
|
|
136
|
+
editableContent: editableContent
|
|
137
|
+
});
|
|
138
|
+
},
|
|
119
139
|
showTitle: showTitle,
|
|
120
140
|
text: text,
|
|
121
141
|
time: item.updateAt || item.createAt,
|
package/es/ChatList/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["
|
|
3
|
+
var _excluded = ["onActionsClick", "renderMessagesExtra", "className", "data", "type", "text", "showTitle", "onMessageChange", "renderMessages", "renderErrorMessages", "loadingId", "renderItems", "enableHistoryCount", "renderActions", "historyCount"];
|
|
4
4
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
5
5
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
6
6
|
import { Fragment, memo } from 'react';
|
|
@@ -10,7 +10,7 @@ import { useStyles } from "./style";
|
|
|
10
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
11
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
12
|
var ChatList = /*#__PURE__*/memo(function (_ref) {
|
|
13
|
-
var
|
|
13
|
+
var onActionsClick = _ref.onActionsClick,
|
|
14
14
|
renderMessagesExtra = _ref.renderMessagesExtra,
|
|
15
15
|
className = _ref.className,
|
|
16
16
|
data = _ref.data,
|
|
@@ -37,7 +37,7 @@ var ChatList = /*#__PURE__*/memo(function (_ref) {
|
|
|
37
37
|
children: data.map(function (item, index) {
|
|
38
38
|
var itemProps = {
|
|
39
39
|
loading: loadingId === item.id,
|
|
40
|
-
|
|
40
|
+
onActionsClick: onActionsClick,
|
|
41
41
|
onMessageChange: onMessageChange,
|
|
42
42
|
renderActions: renderActions,
|
|
43
43
|
renderErrorMessages: renderErrorMessages,
|