@lobehub/ui 1.29.2 → 1.31.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.
Files changed (40) hide show
  1. package/es/CodeEditor/index.d.ts +36 -0
  2. package/es/CodeEditor/index.js +50 -0
  3. package/es/CodeEditor/style.d.ts +8 -0
  4. package/es/CodeEditor/style.js +17 -0
  5. package/es/DraggablePanel/components/DraggablePanelBody.d.ts +5 -0
  6. package/es/DraggablePanel/components/DraggablePanelBody.js +22 -0
  7. package/es/DraggablePanel/components/DraggablePanelContainer.d.ts +5 -0
  8. package/es/DraggablePanel/components/DraggablePanelContainer.js +22 -0
  9. package/es/DraggablePanel/components/DraggablePanelFooter.d.ts +5 -0
  10. package/es/DraggablePanel/components/DraggablePanelFooter.js +22 -0
  11. package/es/DraggablePanel/components/DraggablePanelHeader.d.ts +11 -0
  12. package/es/DraggablePanel/components/DraggablePanelHeader.js +51 -0
  13. package/es/DraggablePanel/components/style.d.ts +6 -0
  14. package/es/DraggablePanel/components/style.js +13 -0
  15. package/es/Form/components/FormDivider.d.ts +5 -0
  16. package/es/Form/components/FormDivider.js +18 -0
  17. package/es/Form/components/FormFooter.d.ts +5 -0
  18. package/es/Form/components/FormFooter.js +22 -0
  19. package/es/Form/components/FormGroup.d.ts +10 -0
  20. package/es/Form/components/FormGroup.js +36 -0
  21. package/es/Form/components/FormItem.d.ts +8 -0
  22. package/es/Form/components/FormItem.js +37 -0
  23. package/es/Form/components/FormTitle.d.ts +8 -0
  24. package/es/Form/components/FormTitle.js +21 -0
  25. package/es/Form/components/style.d.ts +7 -0
  26. package/es/Form/components/style.js +14 -0
  27. package/es/Form/index.d.ts +5 -0
  28. package/es/Form/index.js +26 -0
  29. package/es/Form/style.d.ts +4 -0
  30. package/es/Form/style.js +10 -0
  31. package/es/Highlighter/theme.js +2 -2
  32. package/es/Markdown/index.js +11 -4
  33. package/es/MessageInput/index.d.ts +6 -6
  34. package/es/MessageInput/index.js +23 -16
  35. package/es/MessageModal/index.js +2 -2
  36. package/es/MessageModal/style.js +1 -1
  37. package/es/Swatches/style.js +1 -1
  38. package/es/index.d.ts +11 -0
  39. package/es/index.js +11 -0
  40. package/package.json +3 -1
@@ -0,0 +1,36 @@
1
+ import { InputRef } from 'antd';
2
+ import { type CSSProperties, type FocusEventHandler, type KeyboardEventHandler, type MouseEventHandler, type Ref } from 'react';
3
+ import { SyntaxHighlighterProps } from "../Highlighter/SyntaxHighlighter";
4
+ export interface CodeEditorProps {
5
+ autoFocus?: boolean;
6
+ className?: string;
7
+ disabled?: boolean;
8
+ form?: string;
9
+ ignoreTabKey?: boolean;
10
+ insertSpaces?: boolean;
11
+ language: SyntaxHighlighterProps['language'];
12
+ maxLength?: number;
13
+ minLength?: number;
14
+ name?: string;
15
+ onBlur?: FocusEventHandler<HTMLTextAreaElement>;
16
+ onClick?: MouseEventHandler<HTMLTextAreaElement>;
17
+ onFocus?: FocusEventHandler<HTMLTextAreaElement>;
18
+ onKeyDown?: KeyboardEventHandler<HTMLTextAreaElement>;
19
+ onKeyUp?: KeyboardEventHandler<HTMLTextAreaElement>;
20
+ onValueChange: (value: string) => void;
21
+ placeholder?: string;
22
+ preClassName?: string;
23
+ readOnly?: boolean;
24
+ ref?: Ref<InputRef>;
25
+ required?: boolean;
26
+ resize?: boolean;
27
+ style?: CSSProperties;
28
+ tabSize?: number;
29
+ textareaClassName?: string;
30
+ textareaId?: string;
31
+ theme?: SyntaxHighlighterProps['theme'];
32
+ type?: 'ghost' | 'block' | 'pure';
33
+ value: string;
34
+ }
35
+ declare const CodeEditor: import("react").NamedExoticComponent<CodeEditorProps>;
36
+ export default CodeEditor;
@@ -0,0 +1,50 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ var _excluded = ["style", "language", "theme", "value", "onValueChange", "resize", "className", "textareaClassName", "type"];
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
+ 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
+ import { forwardRef, memo } from 'react';
7
+ import Editor from 'react-simple-code-editor';
8
+ import SyntaxHighlighter from "../Highlighter/SyntaxHighlighter";
9
+ import { useStyles } from "./style";
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ var CodeEditor = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (_ref, reference) {
12
+ var style = _ref.style,
13
+ language = _ref.language,
14
+ theme = _ref.theme,
15
+ value = _ref.value,
16
+ onValueChange = _ref.onValueChange,
17
+ _ref$resize = _ref.resize,
18
+ resize = _ref$resize === void 0 ? true : _ref$resize,
19
+ className = _ref.className,
20
+ textareaClassName = _ref.textareaClassName,
21
+ _ref$type = _ref.type,
22
+ type = _ref$type === void 0 ? 'ghost' : _ref$type,
23
+ props = _objectWithoutProperties(_ref, _excluded);
24
+ var _useStyles = useStyles({
25
+ resize: resize,
26
+ type: type
27
+ }),
28
+ styles = _useStyles.styles,
29
+ cx = _useStyles.cx;
30
+ return /*#__PURE__*/_jsx("div", {
31
+ className: cx(styles.container, className),
32
+ style: style,
33
+ children: /*#__PURE__*/_jsx(Editor, _objectSpread({
34
+ className: styles.editor,
35
+ highlight: function highlight(code) {
36
+ return /*#__PURE__*/_jsx(SyntaxHighlighter, {
37
+ language: language,
38
+ theme: theme,
39
+ children: code
40
+ });
41
+ },
42
+ onValueChange: onValueChange,
43
+ padding: 0,
44
+ ref: reference,
45
+ textareaClassName: cx(styles.textarea, textareaClassName),
46
+ value: value
47
+ }, props))
48
+ });
49
+ }));
50
+ export default CodeEditor;
@@ -0,0 +1,8 @@
1
+ export declare const useStyles: (props?: {
2
+ resize: boolean;
3
+ type: 'ghost' | 'block' | 'pure';
4
+ } | undefined) => import("antd-style").ReturnStyles<{
5
+ container: string;
6
+ editor: import("antd-style").SerializedStyles;
7
+ textarea: import("antd-style").SerializedStyles;
8
+ }>;
@@ -0,0 +1,17 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
2
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
3
+ import { createStyles } from 'antd-style';
4
+ export var useStyles = createStyles(function (_ref, _ref2) {
5
+ var cx = _ref.cx,
6
+ css = _ref.css,
7
+ token = _ref.token,
8
+ isDarkMode = _ref.isDarkMode;
9
+ var type = _ref2.type,
10
+ resize = _ref2.resize;
11
+ var typeStylish = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n padding: 8px 12px;\n\n background-color: ", ";\n border: 1px solid ", ";\n border-radius: ", "px;\n\n transition: background-color 100ms ", ",\n border-color 200ms ", ";\n\n &:hover {\n background-color: ", ";\n border-color: ", ";\n }\n "])), type === 'block' ? token.colorFillTertiary : 'transparent', type === 'block' ? 'transparent' : token.colorBorderSecondary, token.borderRadius, token.motionEaseOut, token.motionEaseOut, type === 'block' ? token.colorFillSecondary : token.colorFillQuaternary, token.colorBorder);
12
+ return {
13
+ container: cx(type !== 'pure' && typeStylish, css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n overflow-x: hidden;\n overflow-y: auto;\n height: fit-content;\n "])))),
14
+ editor: css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n resize: ", ";\n height: fit-content;\n font-family: ", " !important;\n\n pre {\n word-wrap: break-word;\n white-space: pre-wrap;\n\n &.shiki {\n margin: 0;\n }\n }\n "])), resize ? 'vertical' : 'none', token.fontFamilyCode),
15
+ textarea: css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n overflow-x: hidden;\n overflow-y: auto;\n height: 100% !important;\n\n &::placeholder {\n color: ", ";\n }\n\n &::selection {\n color: #000;\n background: ", ";\n }\n\n &:focus {\n border: none !important;\n outline: none !important;\n box-shadow: none !important;\n }\n "])), token.colorTextQuaternary, isDarkMode ? token.yellow3A : token.yellow6A)
16
+ };
17
+ });
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import { type DivProps } from "../../types";
3
+ export declare type DraggablePanelBodyProps = DivProps;
4
+ declare const DraggablePanelBody: import("react").NamedExoticComponent<DivProps>;
5
+ export default DraggablePanelBody;
@@ -0,0 +1,22 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ var _excluded = ["className", "children"];
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
+ 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
+ import { memo } from 'react';
7
+ import { useStyles } from "./style";
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ var DraggablePanelBody = /*#__PURE__*/memo(function (_ref) {
10
+ var className = _ref.className,
11
+ children = _ref.children,
12
+ props = _objectWithoutProperties(_ref, _excluded);
13
+ var _useStyles = useStyles(),
14
+ cx = _useStyles.cx,
15
+ styles = _useStyles.styles;
16
+ return /*#__PURE__*/_jsx("div", _objectSpread(_objectSpread({
17
+ className: cx(styles.body, className)
18
+ }, props), {}, {
19
+ children: children
20
+ }));
21
+ });
22
+ export default DraggablePanelBody;
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import { type DivProps } from "../../types";
3
+ export declare type DraggablePanelContainerProps = DivProps;
4
+ declare const DraggablePanelContainer: import("react").NamedExoticComponent<DivProps>;
5
+ export default DraggablePanelContainer;
@@ -0,0 +1,22 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ var _excluded = ["className", "children"];
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
+ 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
+ import { memo } from 'react';
7
+ import { useStyles } from "./style";
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ var DraggablePanelContainer = /*#__PURE__*/memo(function (_ref) {
10
+ var className = _ref.className,
11
+ children = _ref.children,
12
+ props = _objectWithoutProperties(_ref, _excluded);
13
+ var _useStyles = useStyles(),
14
+ cx = _useStyles.cx,
15
+ styles = _useStyles.styles;
16
+ return /*#__PURE__*/_jsx("div", _objectSpread(_objectSpread({
17
+ className: cx(styles.container, className)
18
+ }, props), {}, {
19
+ children: children
20
+ }));
21
+ });
22
+ export default DraggablePanelContainer;
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import { type DivProps } from "../../types";
3
+ export declare type DraggablePanelFooterProps = DivProps;
4
+ declare const DraggablePanelFooter: import("react").NamedExoticComponent<DivProps>;
5
+ export default DraggablePanelFooter;
@@ -0,0 +1,22 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ var _excluded = ["className", "children"];
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
+ 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
+ import { memo } from 'react';
7
+ import { useStyles } from "./style";
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ var DraggablePanelFooter = /*#__PURE__*/memo(function (_ref) {
10
+ var className = _ref.className,
11
+ children = _ref.children,
12
+ props = _objectWithoutProperties(_ref, _excluded);
13
+ var _useStyles = useStyles(),
14
+ cx = _useStyles.cx,
15
+ styles = _useStyles.styles;
16
+ return /*#__PURE__*/_jsx("div", _objectSpread(_objectSpread({
17
+ className: cx(styles.footer, className)
18
+ }, props), {}, {
19
+ children: children
20
+ }));
21
+ });
22
+ export default DraggablePanelFooter;
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import { type DivProps } from "../../types";
3
+ export interface DraggablePanelHeaderProps extends DivProps {
4
+ pin: boolean;
5
+ position?: 'left' | 'right';
6
+ setExpand: (expand: boolean) => void;
7
+ setPin: (pin: boolean) => void;
8
+ title: string;
9
+ }
10
+ declare const DraggablePanelHeader: import("react").NamedExoticComponent<DraggablePanelHeaderProps>;
11
+ export default DraggablePanelHeader;
@@ -0,0 +1,51 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ var _excluded = ["pin", "setPin", "className", "setExpand", "title", "position"];
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
+ 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
+ import { ActionIcon } from "../..";
7
+ import { PanelLeft, Pin, PinOff } from 'lucide-react';
8
+ import { memo } from 'react';
9
+ import { useStyles } from "./style";
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ import { jsxs as _jsxs } from "react/jsx-runtime";
12
+ var DraggablePanelHeader = /*#__PURE__*/memo(function (_ref) {
13
+ var pin = _ref.pin,
14
+ setPin = _ref.setPin,
15
+ className = _ref.className,
16
+ setExpand = _ref.setExpand,
17
+ title = _ref.title,
18
+ _ref$position = _ref.position,
19
+ position = _ref$position === void 0 ? 'left' : _ref$position,
20
+ props = _objectWithoutProperties(_ref, _excluded);
21
+ var _useStyles = useStyles(),
22
+ cx = _useStyles.cx,
23
+ styles = _useStyles.styles;
24
+ var panelIcon = /*#__PURE__*/_jsx(ActionIcon, {
25
+ icon: PanelLeft,
26
+ onClick: function onClick() {
27
+ return setExpand(false);
28
+ },
29
+ size: {
30
+ blockSize: 24,
31
+ fontSize: 14
32
+ }
33
+ });
34
+ var pinIcon = /*#__PURE__*/_jsx(ActionIcon, {
35
+ active: pin,
36
+ icon: pin ? Pin : PinOff,
37
+ onClick: function onClick() {
38
+ return setPin(!pin);
39
+ },
40
+ size: {
41
+ blockSize: 24,
42
+ fontSize: 14
43
+ }
44
+ });
45
+ return /*#__PURE__*/_jsxs("div", _objectSpread(_objectSpread({
46
+ className: cx(styles.header, className)
47
+ }, props), {}, {
48
+ children: [position === 'left' ? panelIcon : pinIcon, title, position === 'left' ? pinIcon : panelIcon]
49
+ }));
50
+ });
51
+ export default DraggablePanelHeader;
@@ -0,0 +1,6 @@
1
+ export declare const useStyles: (props?: unknown) => import("antd-style").ReturnStyles<{
2
+ body: import("antd-style").SerializedStyles;
3
+ container: import("antd-style").SerializedStyles;
4
+ footer: import("antd-style").SerializedStyles;
5
+ header: import("antd-style").SerializedStyles;
6
+ }>;
@@ -0,0 +1,13 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
2
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
3
+ import { createStyles } from 'antd-style';
4
+ export var useStyles = createStyles(function (_ref) {
5
+ var css = _ref.css,
6
+ token = _ref.token;
7
+ return {
8
+ body: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n overflow-x: hidden;\n overflow-y: auto;\n flex: 1;\n padding: 16px;\n "]))),
9
+ container: css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n position: relative;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n "]))),
10
+ footer: css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: flex;\n flex: 0;\n gap: 8px;\n align-items: center;\n justify-content: flex-start;\n\n padding: 8px 16px;\n\n border-top: 1px solid ", ";\n "])), token.colorBorderSecondary),
11
+ header: css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n display: flex;\n flex: 0;\n gap: 8px;\n align-items: center;\n justify-content: space-between;\n\n padding: 8px 16px;\n\n font-weight: 500;\n\n border-bottom: 1px solid ", ";\n "])), token.colorBorderSecondary)
12
+ };
13
+ });
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import { DividerProps } from 'antd';
3
+ export declare type FormDividerProps = DividerProps;
4
+ declare const Divider: import("react").NamedExoticComponent<DividerProps>;
5
+ export default Divider;
@@ -0,0 +1,18 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ var _excluded = ["style"];
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
+ 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
+ import { Divider as AntDivider } from 'antd';
7
+ import { memo } from 'react';
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ var Divider = /*#__PURE__*/memo(function (_ref) {
10
+ var style = _ref.style,
11
+ props = _objectWithoutProperties(_ref, _excluded);
12
+ return /*#__PURE__*/_jsx(AntDivider, _objectSpread({
13
+ style: _objectSpread({
14
+ margin: 0
15
+ }, style)
16
+ }, props));
17
+ });
18
+ export default Divider;
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import { DivProps } from "../../types";
3
+ export declare type FormFooterProps = DivProps;
4
+ declare const FormFooter: import("react").NamedExoticComponent<DivProps>;
5
+ export default FormFooter;
@@ -0,0 +1,22 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ var _excluded = ["className", "children"];
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
+ 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
+ import { memo } from 'react';
7
+ import { useStyles } from "./style";
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ var FormFooter = /*#__PURE__*/memo(function (_ref) {
10
+ var className = _ref.className,
11
+ children = _ref.children,
12
+ props = _objectWithoutProperties(_ref, _excluded);
13
+ var _useStyles = useStyles(),
14
+ cx = _useStyles.cx,
15
+ styles = _useStyles.styles;
16
+ return /*#__PURE__*/_jsx("div", _objectSpread(_objectSpread({
17
+ className: cx(styles.footer, className)
18
+ }, props), {}, {
19
+ children: children
20
+ }));
21
+ });
22
+ export default FormFooter;
@@ -0,0 +1,10 @@
1
+ import { type IconProps } from "../..";
2
+ import { type CollapseProps } from 'antd';
3
+ import { type ReactNode } from 'react';
4
+ export interface FormGroupProps extends CollapseProps {
5
+ children: ReactNode;
6
+ icon: IconProps['icon'];
7
+ title: string;
8
+ }
9
+ declare const FormGroup: import("react").NamedExoticComponent<FormGroupProps>;
10
+ export default FormGroup;
@@ -0,0 +1,36 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ var _excluded = ["className", "icon", "title", "children"];
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
+ 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
+ import { Icon } from "../..";
7
+ import { Collapse } from 'antd';
8
+ import { memo } from 'react';
9
+ import { useStyles } from "./style";
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ import { jsxs as _jsxs } from "react/jsx-runtime";
12
+ var FormGroup = /*#__PURE__*/memo(function (_ref) {
13
+ var className = _ref.className,
14
+ icon = _ref.icon,
15
+ title = _ref.title,
16
+ children = _ref.children,
17
+ props = _objectWithoutProperties(_ref, _excluded);
18
+ var _useStyles = useStyles(),
19
+ cx = _useStyles.cx,
20
+ styles = _useStyles.styles;
21
+ return /*#__PURE__*/_jsx(Collapse, _objectSpread({
22
+ className: cx(styles.group, className),
23
+ defaultActiveKey: [1],
24
+ items: [{
25
+ children: children,
26
+ key: 1,
27
+ label: /*#__PURE__*/_jsxs("div", {
28
+ className: styles.title,
29
+ children: [/*#__PURE__*/_jsx(Icon, {
30
+ icon: icon
31
+ }), title]
32
+ })
33
+ }]
34
+ }, props), 1);
35
+ });
36
+ export default FormGroup;
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { FormItemProps as AntdFormItemProps } from 'antd';
3
+ export interface FormItemProps extends AntdFormItemProps {
4
+ desc?: string;
5
+ divider?: boolean;
6
+ }
7
+ declare const FormItem: import("react").NamedExoticComponent<FormItemProps>;
8
+ export default FormItem;
@@ -0,0 +1,37 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ var _excluded = ["desc", "className", "label", "children", "divider"];
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
+ 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
+ import { Form } from 'antd';
7
+ import { memo } from 'react';
8
+ import FormDivider from "./FormDivider";
9
+ import FormTitle from "./FormTitle";
10
+ import { useStyles } from "./style";
11
+ import { jsx as _jsx } from "react/jsx-runtime";
12
+ import { Fragment as _Fragment } from "react/jsx-runtime";
13
+ import { jsxs as _jsxs } from "react/jsx-runtime";
14
+ var Item = Form.Item;
15
+ var FormItem = /*#__PURE__*/memo(function (_ref) {
16
+ var desc = _ref.desc,
17
+ className = _ref.className,
18
+ label = _ref.label,
19
+ children = _ref.children,
20
+ divider = _ref.divider,
21
+ props = _objectWithoutProperties(_ref, _excluded);
22
+ var _useStyles = useStyles(),
23
+ cx = _useStyles.cx,
24
+ styles = _useStyles.styles;
25
+ return /*#__PURE__*/_jsxs(_Fragment, {
26
+ children: [divider && /*#__PURE__*/_jsx(FormDivider, {}), /*#__PURE__*/_jsx(Item, _objectSpread(_objectSpread({
27
+ className: cx(styles.item, className),
28
+ label: desc ? /*#__PURE__*/_jsx(FormTitle, {
29
+ desc: desc,
30
+ title: String(label)
31
+ }) : label
32
+ }, props), {}, {
33
+ children: children
34
+ }))]
35
+ });
36
+ });
37
+ export default FormItem;
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { DivProps } from "../../types";
3
+ export interface FormTitleProps extends DivProps {
4
+ desc: string;
5
+ title: string;
6
+ }
7
+ declare const FormTitle: import("react").NamedExoticComponent<FormTitleProps>;
8
+ export default FormTitle;
@@ -0,0 +1,21 @@
1
+ import { memo } from 'react';
2
+ import { useStyles } from "./style";
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ import { jsxs as _jsxs } from "react/jsx-runtime";
5
+ var FormTitle = /*#__PURE__*/memo(function (_ref) {
6
+ var className = _ref.className,
7
+ title = _ref.title,
8
+ desc = _ref.desc;
9
+ var _useStyles = useStyles(),
10
+ cx = _useStyles.cx,
11
+ styles = _useStyles.styles;
12
+ return /*#__PURE__*/_jsxs("div", {
13
+ className: cx(styles.formTitle, className),
14
+ children: [/*#__PURE__*/_jsx("div", {
15
+ children: title
16
+ }), /*#__PURE__*/_jsx("small", {
17
+ children: desc
18
+ })]
19
+ });
20
+ });
21
+ export default FormTitle;
@@ -0,0 +1,7 @@
1
+ export declare const useStyles: (props?: unknown) => import("antd-style").ReturnStyles<{
2
+ footer: import("antd-style").SerializedStyles;
3
+ formTitle: import("antd-style").SerializedStyles;
4
+ group: import("antd-style").SerializedStyles;
5
+ item: import("antd-style").SerializedStyles;
6
+ title: import("antd-style").SerializedStyles;
7
+ }>;
@@ -0,0 +1,14 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
2
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
3
+ import { createStyles } from 'antd-style';
4
+ export var useStyles = createStyles(function (_ref) {
5
+ var css = _ref.css,
6
+ token = _ref.token;
7
+ return {
8
+ footer: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n gap: 8px;\n justify-content: flex-end;\n "]))),
9
+ formTitle: css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n position: relative;\n\n display: flex;\n flex-direction: column;\n gap: 4px;\n\n text-align: left;\n\n > div {\n font-weight: 500;\n line-height: 1;\n }\n\n > small {\n display: block;\n\n line-height: 1.1;\n color: ", ";\n word-wrap: break-word;\n white-space: pre-wrap;\n }\n "])), token.colorTextDescription),
10
+ group: css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n .ant-collapse-header {\n background: ", ";\n border-radius: 0 !important;\n }\n\n .ant-collapse-content {\n background: transparent;\n }\n\n .ant-collapse-content-box {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n "])), token.colorFillTertiary),
11
+ item: css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n padding: 8px 0;\n\n .ant-row {\n justify-content: space-between;\n\n > div {\n flex: unset !important;\n flex-grow: unset !important;\n }\n }\n "]))),
12
+ title: css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n display: flex;\n gap: 8px;\n align-items: center;\n\n font-size: 16px;\n font-weight: 600;\n\n .anticon {\n color: ", ";\n }\n "])), token.colorPrimary)
13
+ };
14
+ });
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import { FormProps as AntFormProps } from 'antd';
3
+ export declare type FormProps = AntFormProps;
4
+ declare const Form: import("react").NamedExoticComponent<FormProps>;
5
+ export default Form;
@@ -0,0 +1,26 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ var _excluded = ["className"];
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
+ 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
+ import { Form as AntForm } from 'antd';
7
+ import { memo } from 'react';
8
+ import { useStyles } from "./style";
9
+ import { jsx as _jsx } from "react/jsx-runtime";
10
+ var Form = /*#__PURE__*/memo(function (_ref) {
11
+ var className = _ref.className,
12
+ props = _objectWithoutProperties(_ref, _excluded);
13
+ var _useStyles = useStyles(),
14
+ cx = _useStyles.cx,
15
+ styles = _useStyles.styles;
16
+ return (
17
+ /*#__PURE__*/
18
+ // @ts-ignore
19
+ _jsx(AntForm, _objectSpread({
20
+ className: cx(styles.form, className),
21
+ colon: false,
22
+ layout: "horizontal"
23
+ }, props))
24
+ );
25
+ });
26
+ export default Form;
@@ -0,0 +1,4 @@
1
+ export declare const useStyles: (props?: unknown) => import("antd-style").ReturnStyles<{
2
+ footer: import("antd-style").SerializedStyles;
3
+ form: import("antd-style").SerializedStyles;
4
+ }>;
@@ -0,0 +1,10 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
2
+ var _templateObject, _templateObject2;
3
+ import { createStyles } from 'antd-style';
4
+ export var useStyles = createStyles(function (_ref) {
5
+ var css = _ref.css;
6
+ return {
7
+ footer: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n gap: 8px;\n justify-content: flex-end;\n "]))),
8
+ form: css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n gap: 16px;\n\n .ant-form-item {\n margin: 0 !important;\n }\n\n .ant-form-item .ant-form-item-label > label {\n height: unset;\n }\n\n .ant-row {\n position: relative;\n flex-wrap: nowrap;\n }\n\n .ant-form-item-label {\n position: relative;\n flex: 1;\n max-width: 100%;\n }\n\n .ant-form-item-control {\n position: relative;\n flex: 0;\n min-width: unset !important;\n }\n "])))
9
+ };
10
+ });
@@ -2,8 +2,8 @@ import { colorScales } from "../styles/colors";
2
2
  export var themeConfig = function themeConfig(isDarkMode) {
3
3
  var type = isDarkMode ? 'dark' : 'light';
4
4
  var colorText = colorScales.gray[type][11];
5
- var colorTextSecondary = isDarkMode ? colorScales.gray[type][9] : colorScales.gray[type][10];
6
- var colorTextTertiary = isDarkMode ? colorScales.gray[type][6] : colorScales.gray[type][7];
5
+ var colorTextSecondary = colorScales.gray[type][10];
6
+ var colorTextTertiary = colorScales.gray[type][7];
7
7
  var colorRed = isDarkMode ? colorScales.red[type][9] : colorScales.volcano[type][9];
8
8
  var colorOrange = isDarkMode ? colorScales.gold[type][9] : colorScales.orange[type][9];
9
9
  var colorGreen = isDarkMode ? colorScales.lime[type][9] : colorScales.green[type][9];
@@ -1,3 +1,8 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ var _excluded = ["children", "className"];
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
+ 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; }
1
6
  import { Collapse, Divider, Typography } from 'antd';
2
7
  import pangu from 'pangu';
3
8
  import { memo } from 'react';
@@ -9,7 +14,8 @@ import { useStyles } from "./style";
9
14
  import { jsx as _jsx } from "react/jsx-runtime";
10
15
  var Markdown = /*#__PURE__*/memo(function (_ref) {
11
16
  var children = _ref.children,
12
- className = _ref.className;
17
+ className = _ref.className,
18
+ props = _objectWithoutProperties(_ref, _excluded);
13
19
  var _useStyles = useStyles(),
14
20
  styles = _useStyles.styles,
15
21
  cx = _useStyles.cx;
@@ -21,12 +27,13 @@ var Markdown = /*#__PURE__*/memo(function (_ref) {
21
27
  pre: CodeBlock
22
28
  };
23
29
  return /*#__PURE__*/_jsx(Typography, {
24
- children: /*#__PURE__*/_jsx(ReactMarkdown, {
30
+ children: /*#__PURE__*/_jsx(ReactMarkdown, _objectSpread(_objectSpread({
25
31
  className: cx(styles.markdown, className),
26
32
  components: components,
27
- remarkPlugins: [remarkGfm],
33
+ remarkPlugins: [remarkGfm]
34
+ }, props), {}, {
28
35
  children: pangu.spacing(children)
29
- })
36
+ }))
30
37
  });
31
38
  });
32
39
  export default Markdown;
@@ -1,7 +1,8 @@
1
- /// <reference types="react" />
2
1
  import { ButtonProps } from 'antd';
2
+ import { type CSSProperties } from 'react';
3
3
  import { type TextAreaProps } from "../Input";
4
- export interface MessageInputProps {
4
+ import { DivProps } from "../types";
5
+ export interface MessageInputProps extends DivProps {
5
6
  /**
6
7
  * @description Additional className to apply to the component.
7
8
  */
@@ -10,10 +11,7 @@ export interface MessageInputProps {
10
11
  * @description The default value of the input box.
11
12
  */
12
13
  defaultValue?: string;
13
- /**
14
- * @description The height of the input box.
15
- */
16
- height?: number;
14
+ height?: number | string;
17
15
  /**
18
16
  * @description Callback function triggered when user clicks on the cancel button.
19
17
  */
@@ -28,6 +26,8 @@ export interface MessageInputProps {
28
26
  * @param text - The text input by the user.
29
27
  */
30
28
  renderButtons?: (text: string) => ButtonProps[];
29
+ textareaClassname?: string;
30
+ textareaStyle?: CSSProperties;
31
31
  /**
32
32
  * @description The type of the input box.
33
33
  */
@@ -1,38 +1,46 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
2
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
+ var _excluded = ["type", "onCancel", "defaultValue", "onConfirm", "renderButtons", "textareaStyle", "textareaClassname", "height"];
3
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; }
4
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; }
5
7
  import { Button } from 'antd';
6
- import { cx } from 'antd-style';
7
8
  import { memo, useState } from 'react';
8
9
  import { Flexbox } from 'react-layout-kit';
9
- import { TextArea } from "../Input";
10
+ import CodeEditor from "../CodeEditor";
10
11
  import { jsx as _jsx } from "react/jsx-runtime";
11
12
  import { Fragment as _Fragment } from "react/jsx-runtime";
12
13
  import { jsxs as _jsxs } from "react/jsx-runtime";
13
14
  var MessageInput = /*#__PURE__*/memo(function (_ref) {
14
- var type = _ref.type,
15
+ var _ref$type = _ref.type,
16
+ type = _ref$type === void 0 ? 'ghost' : _ref$type,
15
17
  onCancel = _ref.onCancel,
16
18
  defaultValue = _ref.defaultValue,
17
19
  onConfirm = _ref.onConfirm,
18
20
  renderButtons = _ref.renderButtons,
19
- height = _ref.height,
20
- className = _ref.className;
21
+ textareaStyle = _ref.textareaStyle,
22
+ textareaClassname = _ref.textareaClassname,
23
+ _ref$height = _ref.height,
24
+ height = _ref$height === void 0 ? 'fit-content' : _ref$height,
25
+ props = _objectWithoutProperties(_ref, _excluded);
21
26
  var _useState = useState(defaultValue || ''),
22
27
  _useState2 = _slicedToArray(_useState, 2),
23
28
  temporarySystemRole = _useState2[0],
24
29
  setRole = _useState2[1];
25
- return /*#__PURE__*/_jsxs(Flexbox, {
26
- gap: 8,
27
- children: [/*#__PURE__*/_jsx(TextArea, {
28
- className: cx('nowheel', className),
29
- onChange: function onChange(e) {
30
- setRole(e.target.value);
30
+ return /*#__PURE__*/_jsxs(Flexbox, _objectSpread(_objectSpread({
31
+ gap: 8
32
+ }, props), {}, {
33
+ children: [/*#__PURE__*/_jsx(CodeEditor, {
34
+ className: textareaClassname,
35
+ language: "md",
36
+ onValueChange: function onValueChange(value) {
37
+ setRole(value);
31
38
  },
32
39
  placeholder: '例如:你是一名擅长翻译的翻译官,请将用户所输入的英文都翻译为中文。',
33
- style: {
34
- height: height !== null && height !== void 0 ? height : 200
35
- },
40
+ resize: false,
41
+ style: _objectSpread({
42
+ height: height
43
+ }, textareaStyle),
36
44
  type: type,
37
45
  value: temporarySystemRole
38
46
  }), /*#__PURE__*/_jsx(Flexbox, {
@@ -49,11 +57,10 @@ var MessageInput = /*#__PURE__*/memo(function (_ref) {
49
57
  children: "Confirm"
50
58
  }), /*#__PURE__*/_jsx(Button, {
51
59
  onClick: onCancel,
52
- type: "text",
53
60
  children: "Cancel"
54
61
  })]
55
62
  })
56
63
  })]
57
- });
64
+ }));
58
65
  });
59
66
  export default MessageInput;
@@ -38,7 +38,7 @@ var MessageModal = /*#__PURE__*/memo(function (_ref) {
38
38
  closeIcon: /*#__PURE__*/_jsx(Icon, {
39
39
  icon: X
40
40
  }),
41
- footer: isEdit ? undefined : undefined,
41
+ footer: isEdit ? null : undefined,
42
42
  okText: 'Edit',
43
43
  onCancel: function onCancel() {
44
44
  return setExpand(false);
@@ -56,7 +56,7 @@ var MessageModal = /*#__PURE__*/memo(function (_ref) {
56
56
  width: 800,
57
57
  children: isEdit ? /*#__PURE__*/_jsx(MessageInput, {
58
58
  defaultValue: value,
59
- height: 400,
59
+ height: "70vh",
60
60
  onCancel: function onCancel() {
61
61
  return setTyping(false);
62
62
  },
@@ -6,6 +6,6 @@ export var useStyles = createStyles(function (_ref) {
6
6
  prefixCls = _ref.prefixCls;
7
7
  return {
8
8
  body: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n overflow-x: hidden;\n overflow-y: auto;\n max-height: 70vh;\n "]))),
9
- modal: css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n height: 70%;\n .", "-modal-header {\n margin-bottom: 24px;\n }\n "])), prefixCls)
9
+ modal: css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n .", "-modal-header {\n margin-bottom: 24px;\n }\n "])), prefixCls)
10
10
  };
11
11
  });
@@ -5,7 +5,7 @@ export var useStyles = createStyles(function (_ref, size) {
5
5
  var css = _ref.css,
6
6
  token = _ref.token;
7
7
  return {
8
- active: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n box-shadow: inset 0 0 0 2px ", ";\n "])), token.colorPrimary),
8
+ active: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n box-shadow: inset 0 0 0 2px ", ";\n "])), token.colorText),
9
9
  container: css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n cursor: pointer;\n\n width: ", "px;\n height: ", "px;\n\n background: ", ";\n border-radius: 50%;\n box-shadow: inset 0 0 0 1px ", ";\n\n transition: scale 400ms ", ";\n\n &:active {\n scale: 0.8;\n }\n "])), size, size, token.colorBgContainer, token.colorFill, token.motionEaseOut)
10
10
  };
11
11
  });
package/es/index.d.ts CHANGED
@@ -6,10 +6,15 @@ export type { ChatMessage, MessageRoleType } from './Chat';
6
6
  export { default as ChatInputArea, type ChatInputAreaProps } from './ChatInputArea';
7
7
  export { default as ChatItem, type ChatItemProps } from './ChatItem';
8
8
  export { default as ChatList, type ChatListProps } from './ChatList';
9
+ export { default as CodeEditor, type CodeEditorProps } from './CodeEditor';
9
10
  export { default as ColorScales, type ColorScalesProps } from './ColorScales';
10
11
  export { default as ContextMenu, type ContextMenuProps } from './ContextMenu';
11
12
  export { default as CopyButton, type CopyButtonProps } from './CopyButton';
12
13
  export { default as DraggablePanel, type DraggablePanelProps } from './DraggablePanel';
14
+ export { default as DraggablePanelBody, type DraggablePanelBodyProps, } from './DraggablePanel/components/DraggablePanelBody';
15
+ export { default as DraggablePanelContainer, type DraggablePanelContainerProps, } from './DraggablePanel/components/DraggablePanelContainer';
16
+ export { default as DraggablePanelFooter, type DraggablePanelFooterProps, } from './DraggablePanel/components/DraggablePanelFooter';
17
+ export { default as DraggablePanelHeader, type DraggablePanelHeaderProps, } from './DraggablePanel/components/DraggablePanelHeader';
13
18
  export { default as EditableMessage, type EditableMessageProps } from './EditableMessage';
14
19
  export { default as EditableMessageList, type EditableMessageListProps, } from './EditableMessageList';
15
20
  export { default as EditableText, type EditableTextProps } from './EditableText';
@@ -17,6 +22,12 @@ export { type FeatureItem, default as Features, type FeaturesProps } from './Fea
17
22
  export { default as FluentEmoji, type FluentEmojiProps } from './FluentEmoji';
18
23
  export { default as FontLoader, type FontLoaderProps } from './FontLoader';
19
24
  export { default as Footer, type FooterProps } from './Footer';
25
+ export { default as Form, type FormProps } from './Form';
26
+ export { default as FormDivider, type FormDividerProps } from './Form/components/FormDivider';
27
+ export { default as FormFooter, type FormFooterProps } from './Form/components/FormFooter';
28
+ export { default as FormGroup, type FormGroupProps } from './Form/components/FormGroup';
29
+ export { default as FormItem, type FormItemProps } from './Form/components/FormItem';
30
+ export { default as FormTitle, type FormTitleProps } from './Form/components/FormTitle';
20
31
  export { default as GradientButton, type GradientButtonProps } from './GradientButton';
21
32
  export { default as Header, type HeaderProps } from './Header';
22
33
  export { default as Hero, type HeroAction, type HeroProps } from './Hero';
package/es/index.js CHANGED
@@ -5,10 +5,15 @@ export { default as Burger } from "./Burger";
5
5
  export { default as ChatInputArea } from "./ChatInputArea";
6
6
  export { default as ChatItem } from "./ChatItem";
7
7
  export { default as ChatList } from "./ChatList";
8
+ export { default as CodeEditor } from "./CodeEditor";
8
9
  export { default as ColorScales } from "./ColorScales";
9
10
  export { default as ContextMenu } from "./ContextMenu";
10
11
  export { default as CopyButton } from "./CopyButton";
11
12
  export { default as DraggablePanel } from "./DraggablePanel";
13
+ export { default as DraggablePanelBody } from "./DraggablePanel/components/DraggablePanelBody";
14
+ export { default as DraggablePanelContainer } from "./DraggablePanel/components/DraggablePanelContainer";
15
+ export { default as DraggablePanelFooter } from "./DraggablePanel/components/DraggablePanelFooter";
16
+ export { default as DraggablePanelHeader } from "./DraggablePanel/components/DraggablePanelHeader";
12
17
  export { default as EditableMessage } from "./EditableMessage";
13
18
  export { default as EditableMessageList } from "./EditableMessageList";
14
19
  export { default as EditableText } from "./EditableText";
@@ -16,6 +21,12 @@ export { default as Features } from "./Features";
16
21
  export { default as FluentEmoji } from "./FluentEmoji";
17
22
  export { default as FontLoader } from "./FontLoader";
18
23
  export { default as Footer } from "./Footer";
24
+ export { default as Form } from "./Form";
25
+ export { default as FormDivider } from "./Form/components/FormDivider";
26
+ export { default as FormFooter } from "./Form/components/FormFooter";
27
+ export { default as FormGroup } from "./Form/components/FormGroup";
28
+ export { default as FormItem } from "./Form/components/FormItem";
29
+ export { default as FormTitle } from "./Form/components/FormTitle";
19
30
  export { default as GradientButton } from "./GradientButton";
20
31
  export { default as Header } from "./Header";
21
32
  export { default as Hero } from "./Hero";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobehub/ui",
3
- "version": "1.29.2",
3
+ "version": "1.31.0",
4
4
  "description": "Lobe UI is an open-source UI component library for building chatbot web apps",
5
5
  "keywords": [
6
6
  "lobehub",
@@ -95,6 +95,7 @@
95
95
  "react-layout-kit": "^1",
96
96
  "react-markdown": "^8",
97
97
  "react-rnd": "^10",
98
+ "react-simple-code-editor": "^0",
98
99
  "remark-gfm": "^3",
99
100
  "shiki-es": "^0",
100
101
  "styled-components": "latest",
@@ -114,6 +115,7 @@
114
115
  "@types/react-dom": "^18",
115
116
  "@vitest/coverage-v8": "latest",
116
117
  "antd-style": "^3",
118
+ "babel-plugin-antd-style": "^1.0.4",
117
119
  "commitlint": "^17",
118
120
  "concurrently": "^8",
119
121
  "cross-env": "^7",