@lobehub/ui 1.104.3 → 1.106.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.
@@ -1,10 +1,11 @@
1
1
  import { type ReactNode } from 'react';
2
2
  import { ChatItemProps } from "..";
3
- export interface LoadingProps {
3
+ export interface MessageContentProps {
4
4
  editing?: ChatItemProps['editing'];
5
5
  message?: ReactNode;
6
6
  messageExtra?: ChatItemProps['messageExtra'];
7
7
  onChange?: ChatItemProps['onChange'];
8
+ onDoubleClick?: ChatItemProps['onDoubleClick'];
8
9
  onEditingChange?: ChatItemProps['onEditingChange'];
9
10
  placement?: ChatItemProps['placement'];
10
11
  primary?: ChatItemProps['primary'];
@@ -12,5 +13,5 @@ export interface LoadingProps {
12
13
  text?: ChatItemProps['text'];
13
14
  type?: ChatItemProps['type'];
14
15
  }
15
- declare const Loading: import("react").NamedExoticComponent<LoadingProps>;
16
- export default Loading;
16
+ declare const MessageContent: import("react").NamedExoticComponent<MessageContentProps>;
17
+ export default MessageContent;
@@ -5,7 +5,7 @@ import EditableMessage from "../../EditableMessage";
5
5
  import { useStyles } from "../style";
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
7
7
  import { jsxs as _jsxs } from "react/jsx-runtime";
8
- var Loading = /*#__PURE__*/memo(function (_ref) {
8
+ var MessageContent = /*#__PURE__*/memo(function (_ref) {
9
9
  var editing = _ref.editing,
10
10
  onChange = _ref.onChange,
11
11
  onEditingChange = _ref.onEditingChange,
@@ -15,7 +15,8 @@ var Loading = /*#__PURE__*/memo(function (_ref) {
15
15
  messageExtra = _ref.messageExtra,
16
16
  renderMessage = _ref.renderMessage,
17
17
  type = _ref.type,
18
- primary = _ref.primary;
18
+ primary = _ref.primary,
19
+ onDoubleClick = _ref.onDoubleClick;
19
20
  var _useStyles = useStyles({
20
21
  editing: editing,
21
22
  placement: placement,
@@ -42,10 +43,11 @@ var Loading = /*#__PURE__*/memo(function (_ref) {
42
43
  var messageContent = renderMessage ? renderMessage(content) : content;
43
44
  return /*#__PURE__*/_jsxs(Flexbox, {
44
45
  className: cx(styles.message, editing && styles.editingContainer),
46
+ onDoubleClick: onDoubleClick,
45
47
  children: [messageContent, messageExtra && !editing ? /*#__PURE__*/_jsx("div", {
46
48
  className: styles.messageExtra,
47
49
  children: messageExtra
48
50
  }) : null]
49
51
  });
50
52
  });
51
- export default Loading;
53
+ export default MessageContent;
@@ -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 = ["avatarAddon", "onAvatarClick", "actions", "className", "primary", "loading", "message", "placement", "type", "avatar", "error", "showTitle", "time", "editing", "onChange", "onEditingChange", "messageExtra", "renderMessage", "text", "errorMessage"];
3
+ var _excluded = ["avatarAddon", "onAvatarClick", "actions", "className", "primary", "loading", "message", "placement", "type", "avatar", "error", "showTitle", "time", "editing", "onChange", "onEditingChange", "messageExtra", "renderMessage", "text", "errorMessage", "onDoubleClick"];
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 { useResponsive } from 'antd-style';
@@ -39,6 +39,7 @@ var ChatItem = /*#__PURE__*/memo(function (_ref) {
39
39
  renderMessage = _ref.renderMessage,
40
40
  text = _ref.text,
41
41
  errorMessage = _ref.errorMessage,
42
+ onDoubleClick = _ref.onDoubleClick,
42
43
  props = _objectWithoutProperties(_ref, _excluded);
43
44
  var _useResponsive = useResponsive(),
44
45
  mobile = _useResponsive.mobile;
@@ -86,6 +87,7 @@ var ChatItem = /*#__PURE__*/memo(function (_ref) {
86
87
  message: message,
87
88
  messageExtra: messageExtra,
88
89
  onChange: onChange,
90
+ onDoubleClick: onDoubleClick,
89
91
  onEditingChange: onEditingChange,
90
92
  placement: placement,
91
93
  primary: primary,
@@ -1,7 +1,7 @@
1
1
  import { AlertProps } from 'antd';
2
2
  import { ReactNode } from 'react';
3
3
  import { EditableMessageProps } from "../EditableMessage";
4
- import { MetaData } from "../types";
4
+ import { DivProps, MetaData } from "../types";
5
5
  export interface ChatItemProps {
6
6
  /**
7
7
  * @description Actions to be displayed in the chat item
@@ -40,6 +40,7 @@ export interface ChatItemProps {
40
40
  * @param value - The new message content
41
41
  */
42
42
  onChange?: (value: string) => void;
43
+ onDoubleClick?: DivProps['onDoubleClick'];
43
44
  /**
44
45
  * @description Callback when the editing mode changes
45
46
  * @param editing - The new editing mode
@@ -122,6 +122,12 @@ var Item = /*#__PURE__*/memo(function (props) {
122
122
  onChange: function onChange(value) {
123
123
  return onMessageChange === null || onMessageChange === void 0 ? void 0 : onMessageChange(item.id, value);
124
124
  },
125
+ onDoubleClick: function onDoubleClick(e) {
126
+ if (item.id === 'default' || item.error) return;
127
+ if (item.role && ['assistant', 'user'].includes(item.role) && e.altKey) {
128
+ setEditing(true);
129
+ }
130
+ },
125
131
  onEditingChange: setEditing,
126
132
  placement: type === 'chat' ? item.role === 'user' ? 'right' : 'left' : 'left',
127
133
  primary: item.role === 'user',
@@ -9,6 +9,7 @@ export interface MarkdownProps {
9
9
  */
10
10
  className?: string;
11
11
  fullFeaturedCodeBlock?: boolean;
12
+ onDoubleClick?: () => void;
12
13
  style?: CSSProperties;
13
14
  }
14
15
  declare const Markdown: import("react").NamedExoticComponent<MarkdownProps>;
@@ -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 = ["children", "className", "style", "fullFeaturedCodeBlock"];
3
+ var _excluded = ["children", "className", "style", "fullFeaturedCodeBlock", "onDoubleClick"];
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 { Collapse, Divider, Image, Typography } from 'antd';
@@ -18,6 +18,7 @@ var Markdown = /*#__PURE__*/memo(function (_ref) {
18
18
  className = _ref.className,
19
19
  style = _ref.style,
20
20
  fullFeaturedCodeBlock = _ref.fullFeaturedCodeBlock,
21
+ onDoubleClick = _ref.onDoubleClick,
21
22
  props = _objectWithoutProperties(_ref, _excluded);
22
23
  var _useStyles = useStyles(),
23
24
  styles = _useStyles.styles;
@@ -37,6 +38,7 @@ var Markdown = /*#__PURE__*/memo(function (_ref) {
37
38
  };
38
39
  return /*#__PURE__*/_jsx(Typography, {
39
40
  className: className,
41
+ onDoubleClick: onDoubleClick,
40
42
  style: style,
41
43
  children: /*#__PURE__*/_jsx(ErrorBoundary, {
42
44
  fallback: /*#__PURE__*/_jsx(ReactMarkdown, _objectSpread(_objectSpread({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobehub/ui",
3
- "version": "1.104.3",
3
+ "version": "1.106.0",
4
4
  "description": "Lobe UI is an open-source UI component library for building AIGC web apps",
5
5
  "keywords": [
6
6
  "lobehub",