@lobehub/ui 1.11.1 → 1.11.3

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 (184) hide show
  1. package/README.md +24 -8
  2. package/package.json +3 -3
  3. package/lib/ActionIcon/index.d.ts +0 -49
  4. package/lib/ActionIcon/index.js +0 -80
  5. package/lib/ActionIcon/style.d.ts +0 -6
  6. package/lib/ActionIcon/style.js +0 -20
  7. package/lib/Avatar/index.d.ts +0 -10
  8. package/lib/Avatar/index.js +0 -69
  9. package/lib/Chat/const.d.ts +0 -1
  10. package/lib/Chat/const.js +0 -8
  11. package/lib/Chat/index.d.ts +0 -2
  12. package/lib/Chat/index.js +0 -27
  13. package/lib/Chat/store/index.d.ts +0 -20
  14. package/lib/Chat/store/index.js +0 -50
  15. package/lib/Chat/store/initialState.d.ts +0 -28
  16. package/lib/Chat/store/initialState.js +0 -16
  17. package/lib/Chat/store/messageReducer.d.ts +0 -37
  18. package/lib/Chat/store/messageReducer.js +0 -75
  19. package/lib/Chat/store/selectors.d.ts +0 -9
  20. package/lib/Chat/store/selectors.js +0 -51
  21. package/lib/Chat/store/store.d.ts +0 -34
  22. package/lib/Chat/store/store.js +0 -246
  23. package/lib/Chat/types.d.ts +0 -77
  24. package/lib/Chat/types.js +0 -5
  25. package/lib/Chat/utils/fetch.d.ts +0 -11
  26. package/lib/Chat/utils/fetch.js +0 -108
  27. package/lib/ContextMenu/MenuItem/icons.d.ts +0 -4
  28. package/lib/ContextMenu/MenuItem/icons.js +0 -82
  29. package/lib/ContextMenu/MenuItem/index.d.ts +0 -12
  30. package/lib/ContextMenu/MenuItem/index.js +0 -79
  31. package/lib/ContextMenu/MenuItem/style.d.ts +0 -7
  32. package/lib/ContextMenu/MenuItem/style.js +0 -24
  33. package/lib/ContextMenu/index.d.ts +0 -9
  34. package/lib/ContextMenu/index.js +0 -270
  35. package/lib/ContextMenu/style.d.ts +0 -4
  36. package/lib/ContextMenu/style.js +0 -20
  37. package/lib/ContextMenu/types/index.d.ts +0 -5
  38. package/lib/ContextMenu/types/index.js +0 -16
  39. package/lib/ContextMenu/types/menuItem.d.ts +0 -21
  40. package/lib/ContextMenu/types/menuItem.js +0 -5
  41. package/lib/Conversation/App.d.ts +0 -13
  42. package/lib/Conversation/App.js +0 -50
  43. package/lib/Conversation/ChatList/MessageItem/Content.d.ts +0 -8
  44. package/lib/Conversation/ChatList/MessageItem/Content.js +0 -109
  45. package/lib/Conversation/ChatList/MessageItem/Toolbar.d.ts +0 -10
  46. package/lib/Conversation/ChatList/MessageItem/Toolbar.js +0 -100
  47. package/lib/Conversation/ChatList/MessageItem/index.d.ts +0 -9
  48. package/lib/Conversation/ChatList/MessageItem/index.js +0 -132
  49. package/lib/Conversation/ChatList/index.d.ts +0 -14
  50. package/lib/Conversation/ChatList/index.js +0 -67
  51. package/lib/Conversation/InputArea/ActionBar.d.ts +0 -4
  52. package/lib/Conversation/InputArea/ActionBar.js +0 -79
  53. package/lib/Conversation/InputArea/index.d.ts +0 -4
  54. package/lib/Conversation/InputArea/index.js +0 -109
  55. package/lib/Conversation/StoreUpdater.d.ts +0 -7
  56. package/lib/Conversation/StoreUpdater.js +0 -32
  57. package/lib/Conversation/index.d.ts +0 -8
  58. package/lib/Conversation/index.js +0 -33
  59. package/lib/CopyButton/index.d.ts +0 -26
  60. package/lib/CopyButton/index.js +0 -41
  61. package/lib/DraggablePanel/index.d.ts +0 -92
  62. package/lib/DraggablePanel/index.js +0 -202
  63. package/lib/DraggablePanel/style.d.ts +0 -18
  64. package/lib/DraggablePanel/style.js +0 -38
  65. package/lib/DraggablePanel/utils.d.ts +0 -2
  66. package/lib/DraggablePanel/utils.js +0 -19
  67. package/lib/EditableMessage/index.d.ts +0 -43
  68. package/lib/EditableMessage/index.js +0 -73
  69. package/lib/EditableMessageList/index.d.ts +0 -9
  70. package/lib/EditableMessageList/index.js +0 -109
  71. package/lib/EditableText/index.d.ts +0 -5
  72. package/lib/EditableText/index.js +0 -43
  73. package/lib/Highlighter/SyntaxHighlighter/Prism.d.ts +0 -7
  74. package/lib/Highlighter/SyntaxHighlighter/Prism.js +0 -46
  75. package/lib/Highlighter/SyntaxHighlighter/index.d.ts +0 -5
  76. package/lib/Highlighter/SyntaxHighlighter/index.js +0 -64
  77. package/lib/Highlighter/SyntaxHighlighter/style.d.ts +0 -5
  78. package/lib/Highlighter/SyntaxHighlighter/style.js +0 -23
  79. package/lib/Highlighter/index.d.ts +0 -36
  80. package/lib/Highlighter/index.js +0 -56
  81. package/lib/Highlighter/style.d.ts +0 -5
  82. package/lib/Highlighter/style.js +0 -25
  83. package/lib/Icon/index.d.ts +0 -21
  84. package/lib/Icon/index.js +0 -45
  85. package/lib/Input/index.d.ts +0 -13
  86. package/lib/Input/index.js +0 -47
  87. package/lib/Input/style.d.ts +0 -6
  88. package/lib/Input/style.js +0 -20
  89. package/lib/List/ListItem/index.d.ts +0 -64
  90. package/lib/List/ListItem/index.js +0 -115
  91. package/lib/List/ListItem/time.d.ts +0 -2
  92. package/lib/List/ListItem/time.js +0 -18
  93. package/lib/List/index.d.ts +0 -5
  94. package/lib/List/index.js +0 -13
  95. package/lib/Logo/Divider.d.ts +0 -3
  96. package/lib/Logo/Divider.js +0 -28
  97. package/lib/Logo/Logo3D.d.ts +0 -3
  98. package/lib/Logo/Logo3D.js +0 -19
  99. package/lib/Logo/LogoFlat.d.ts +0 -3
  100. package/lib/Logo/LogoFlat.js +0 -110
  101. package/lib/Logo/LogoHighContrast.d.ts +0 -3
  102. package/lib/Logo/LogoHighContrast.js +0 -32
  103. package/lib/Logo/LogoText.d.ts +0 -3
  104. package/lib/Logo/LogoText.js +0 -26
  105. package/lib/Logo/index.d.ts +0 -20
  106. package/lib/Logo/index.js +0 -102
  107. package/lib/Logo/style.d.ts +0 -4
  108. package/lib/Logo/style.js +0 -18
  109. package/lib/Markdown/Code.d.ts +0 -3
  110. package/lib/Markdown/Code.js +0 -19
  111. package/lib/Markdown/CodeBlock.d.ts +0 -3
  112. package/lib/Markdown/CodeBlock.js +0 -36
  113. package/lib/Markdown/index.d.ts +0 -13
  114. package/lib/Markdown/index.js +0 -39
  115. package/lib/Markdown/style.d.ts +0 -4
  116. package/lib/Markdown/style.js +0 -20
  117. package/lib/MessageInput/index.d.ts +0 -37
  118. package/lib/MessageInput/index.js +0 -63
  119. package/lib/MessageModal/index.d.ts +0 -11
  120. package/lib/MessageModal/index.js +0 -87
  121. package/lib/SearchBar/index.d.ts +0 -8
  122. package/lib/SearchBar/index.js +0 -90
  123. package/lib/SearchBar/style.d.ts +0 -6
  124. package/lib/SearchBar/style.js +0 -21
  125. package/lib/SideNav/index.d.ts +0 -18
  126. package/lib/SideNav/index.js +0 -46
  127. package/lib/SideNav/style.d.ts +0 -1
  128. package/lib/SideNav/style.js +0 -16
  129. package/lib/Snippet/index.d.ts +0 -29
  130. package/lib/Snippet/index.js +0 -44
  131. package/lib/Snippet/style.d.ts +0 -1
  132. package/lib/Snippet/style.js +0 -16
  133. package/lib/StroyBook/index.d.ts +0 -17
  134. package/lib/StroyBook/index.js +0 -64
  135. package/lib/StroyBook/style.d.ts +0 -8
  136. package/lib/StroyBook/style.js +0 -22
  137. package/lib/Swatches/index.d.ts +0 -8
  138. package/lib/Swatches/index.js +0 -50
  139. package/lib/TabsNav/index.d.ts +0 -22
  140. package/lib/TabsNav/index.js +0 -26
  141. package/lib/TabsNav/style.d.ts +0 -3
  142. package/lib/TabsNav/style.js +0 -22
  143. package/lib/ThemeProvider/GlobalStyle.d.ts +0 -3
  144. package/lib/ThemeProvider/GlobalStyle.js +0 -31
  145. package/lib/ThemeProvider/index.d.ts +0 -22
  146. package/lib/ThemeProvider/index.js +0 -46
  147. package/lib/ThemeSwitch/index.d.ts +0 -27
  148. package/lib/ThemeSwitch/index.js +0 -66
  149. package/lib/Tooltip/index.d.ts +0 -5
  150. package/lib/Tooltip/index.js +0 -29
  151. package/lib/Tooltip/style.d.ts +0 -3
  152. package/lib/Tooltip/style.js +0 -18
  153. package/lib/components/ControlInput.d.ts +0 -9
  154. package/lib/components/ControlInput.js +0 -90
  155. package/lib/hooks/useCopied.d.ts +0 -4
  156. package/lib/hooks/useCopied.js +0 -34
  157. package/lib/hooks/useHighlight.d.ts +0 -36
  158. package/lib/hooks/useHighlight.js +0 -71
  159. package/lib/index.d.ts +0 -27
  160. package/lib/index.js +0 -213
  161. package/lib/styles/algorithms/generateColorPalette.d.ts +0 -11
  162. package/lib/styles/algorithms/generateColorPalette.js +0 -40
  163. package/lib/styles/algorithms/generateCustomStylish.d.ts +0 -17
  164. package/lib/styles/algorithms/generateCustomStylish.js +0 -27
  165. package/lib/styles/algorithms/generateCustomToken.d.ts +0 -3
  166. package/lib/styles/algorithms/generateCustomToken.js +0 -65
  167. package/lib/styles/algorithms/generateTheme.d.ts +0 -5
  168. package/lib/styles/algorithms/generateTheme.js +0 -28
  169. package/lib/styles/colors.d.ts +0 -38
  170. package/lib/styles/colors.js +0 -183
  171. package/lib/styles/index.d.ts +0 -3
  172. package/lib/styles/index.js +0 -26
  173. package/lib/styles/theme/base.d.ts +0 -2
  174. package/lib/styles/theme/base.js +0 -20
  175. package/lib/styles/theme/dark.d.ts +0 -3
  176. package/lib/styles/theme/dark.js +0 -50
  177. package/lib/styles/theme/light.d.ts +0 -3
  178. package/lib/styles/theme/light.js +0 -50
  179. package/lib/types/customToken.d.ts +0 -1027
  180. package/lib/types/global.d.ts +0 -12
  181. package/lib/types/index.d.ts +0 -6
  182. package/lib/types/index.js +0 -5
  183. package/lib/utils/colorUtils.d.ts +0 -1
  184. package/lib/utils/colorUtils.js +0 -18
package/README.md CHANGED
@@ -6,10 +6,10 @@
6
6
 
7
7
  <h1>Lobe UI</h1>
8
8
 
9
- Lobe UI is an open-source UI component library for building chatbot web apps
10
-
9
+ Lobe UI is an open-source UI component library for building _AIGC_ web apps
10
+
11
11
  [Changelog](./CHANGELOG.md) · [Report Bug][issues-url] · [Request Feature][issues-url]
12
-
12
+
13
13
  <!-- SHIELD GROUP -->
14
14
 
15
15
  [![release][release-shield]][release-url]
@@ -21,19 +21,36 @@ Lobe UI is an open-source UI component library for building chatbot web apps
21
21
  [![forks][forks-shield]][forks-url]
22
22
  [![stargazers][stargazers-shield]][stargazers-url]
23
23
  [![issues][issues-shield]][issues-url]
24
-
24
+
25
25
  ![](https://github.com/othneildrew/Best-README-Template/raw/master/images/screenshot.png)
26
26
 
27
27
  </div>
28
28
 
29
29
  ## 📦 Installation
30
30
 
31
- To install Lobe Commit, run the following command:
31
+ This package is [ESM only](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c).
32
+
33
+ To install Lobe UI, run the following command:
32
34
 
33
35
  ```bash
34
36
  pnpm add @lobehub/ui
35
37
  ```
36
38
 
39
+ ## Usage
40
+
41
+ ### Compile with NextJS
42
+
43
+ by work correct with nextjs ssr, add `transpilePackages: ['@lobehub/ui']` to `next.config.js`. For example:
44
+
45
+ ```js
46
+ // next.config.js
47
+ const nextConfig = {
48
+ // ...other config
49
+
50
+ transpilePackages: ['@lobehub/ui'],
51
+ };
52
+ ```
53
+
37
54
  <div align="right">
38
55
 
39
56
  [![][back-to-top]](#readme-top)
@@ -61,7 +78,6 @@ $ pnpm start
61
78
 
62
79
  </div>
63
80
 
64
-
65
81
  ## 🤝 Contributing
66
82
 
67
83
  <!-- CONTRIBUTION GROUP -->
@@ -90,11 +106,11 @@ $ pnpm start
90
106
  </div>
91
107
 
92
108
  ---
109
+
93
110
  #### 📝 License
94
111
 
95
112
  Copyright © 2023 [LobeHub][profile-url]. <br />
96
- This project is [MIT](./LICENSE) licensed.
97
-
113
+ This project is [MIT](./LICENSE) licensed.
98
114
 
99
115
  <!-- LINK GROUP -->
100
116
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobehub/ui",
3
- "version": "1.11.1",
3
+ "version": "1.11.3",
4
4
  "description": "Lobe UI is an open-source UI component library for building chatbot web apps",
5
5
  "keywords": [
6
6
  "lobehub",
@@ -20,9 +20,9 @@
20
20
  "license": "MIT",
21
21
  "author": "LobeHub",
22
22
  "sideEffects": false,
23
- "main": "lib/index.js",
23
+ "main": "es/index.js",
24
24
  "module": "es/index.js",
25
- "types": "lib/index.d.ts",
25
+ "types": "es/index.d.ts",
26
26
  "files": [
27
27
  "lib",
28
28
  "es"
@@ -1,49 +0,0 @@
1
- /// <reference types="react" />
2
- import { TooltipProps } from "../index";
3
- import { DivProps } from "../types";
4
- import { LucideIcon } from 'lucide-react';
5
- export declare type ActionIconSize = 'large' | 'normal' | 'small' | 'site' | {
6
- blockSize?: number;
7
- fontSize?: number;
8
- strokeWidth?: number;
9
- borderRadius?: number;
10
- };
11
- export interface ActionIconProps extends DivProps {
12
- /**
13
- * @description Whether the icon is active or not
14
- * @default false
15
- */
16
- active?: boolean;
17
- /**
18
- * @description Size of the icon
19
- * @default 'normal'
20
- */
21
- size?: ActionIconSize;
22
- /**
23
- * @description The icon element to be rendered
24
- * @type LucideIcon
25
- */
26
- icon: LucideIcon;
27
- /**
28
- * @description Glass blur style
29
- * @default 'false'
30
- */
31
- glass?: boolean;
32
- /**
33
- * @description The text shown in the tooltip
34
- */
35
- title?: string;
36
- /**
37
- * @description The position of the tooltip relative to the target
38
- * @enum ["top","left","right","bottom","topLeft","topRight","bottomLeft","bottomRight","leftTop","leftBottom","rightTop","rightBottom"]
39
- * @default "top"
40
- */
41
- placement?: TooltipProps['placement'];
42
- /**
43
- * @description Change arrow's visible state and change whether the arrow is pointed at the center of target.
44
- * @default false
45
- */
46
- arrow?: boolean;
47
- }
48
- declare const ActionIcon: import("react").NamedExoticComponent<ActionIconProps>;
49
- export default ActionIcon;
@@ -1,80 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
- var _ = require("./..");
11
- var _react = require("react");
12
- var _style = require("./style");
13
- var _jsxRuntime = require("react/jsx-runtime");
14
- var _excluded = ["className", "active", "icon", "size", "style", "glass", "title", "placement", "arrow"];
15
- var ActionIcon = /*#__PURE__*/(0, _react.memo)(function (_ref) {
16
- var className = _ref.className,
17
- active = _ref.active,
18
- icon = _ref.icon,
19
- _ref$size = _ref.size,
20
- size = _ref$size === void 0 ? 'normal' : _ref$size,
21
- style = _ref.style,
22
- glass = _ref.glass,
23
- title = _ref.title,
24
- placement = _ref.placement,
25
- _ref$arrow = _ref.arrow,
26
- arrow = _ref$arrow === void 0 ? false : _ref$arrow,
27
- props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
28
- var _useStyles = (0, _style.useStyles)({
29
- active: Boolean(active),
30
- glass: Boolean(glass)
31
- }),
32
- styles = _useStyles.styles,
33
- cx = _useStyles.cx;
34
- var blockSize;
35
- var borderRadius;
36
- switch (size) {
37
- case 'large':
38
- blockSize = 44;
39
- borderRadius = 8;
40
- break;
41
- case 'normal':
42
- blockSize = 36;
43
- borderRadius = 5;
44
- break;
45
- case 'small':
46
- blockSize = 24;
47
- borderRadius = 5;
48
- break;
49
- case 'site':
50
- blockSize = 34;
51
- borderRadius = 5;
52
- break;
53
- default:
54
- blockSize = (size === null || size === void 0 ? void 0 : size.blockSize) || 36;
55
- borderRadius = (size === null || size === void 0 ? void 0 : size.borderRadius) || 5;
56
- break;
57
- }
58
- var actionIconBlock = /*#__PURE__*/(0, _jsxRuntime.jsx)("div", (0, _objectSpread2.default)((0, _objectSpread2.default)({
59
- className: cx(styles.block, className),
60
- style: (0, _objectSpread2.default)({
61
- width: blockSize,
62
- height: blockSize,
63
- borderRadius: borderRadius
64
- }, style)
65
- }, props), {}, {
66
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_.Icon, {
67
- size: size === 'site' ? 'normal' : size,
68
- icon: icon
69
- })
70
- }));
71
- if (!title) return actionIconBlock;
72
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_.Tooltip, {
73
- arrow: arrow,
74
- title: title,
75
- placement: placement,
76
- children: actionIconBlock
77
- });
78
- });
79
- var _default = ActionIcon;
80
- exports.default = _default;
@@ -1,6 +0,0 @@
1
- export declare const useStyles: (props?: {
2
- active: boolean;
3
- glass: boolean;
4
- } | undefined) => import("antd-style").ReturnStyles<{
5
- block: import("antd-style").SerializedStyles;
6
- }>;
@@ -1,20 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.useStyles = void 0;
8
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
- var _antdStyle = require("antd-style");
10
- var _templateObject, _templateObject2;
11
- var useStyles = (0, _antdStyle.createStyles)(function (_ref, _ref2) {
12
- var css = _ref.css,
13
- token = _ref.token;
14
- var active = _ref2.active,
15
- glass = _ref2.glass;
16
- return {
17
- block: css(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n cursor: pointer;\n\n display: flex;\n flex: none;\n align-items: center;\n justify-content: center;\n\n color: ", ";\n\n background: ", ";\n\n transition: color 600ms ", ",\n background-color 100ms ", ";\n\n ", "\n\n &:hover {\n color: ", ";\n background-color: ", ";\n }\n\n &:active {\n color: ", ";\n background-color: ", ";\n }\n "])), active ? token.colorText : token.colorTextTertiary, active ? token.colorFillTertiary : 'transparent', token.motionEaseOut, token.motionEaseOut, glass && css(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n backdrop-filter: saturate(180%) blur(10px);\n "]))), token.colorText, token.colorFillSecondary, token.colorText, token.colorFill)
18
- };
19
- });
20
- exports.useStyles = useStyles;
@@ -1,10 +0,0 @@
1
- import { FC } from 'react';
2
- export interface AvatarProps {
3
- avatar?: string;
4
- title?: string;
5
- size?: number;
6
- shape?: 'circle' | 'square';
7
- background?: string;
8
- }
9
- declare const Avatar: FC<AvatarProps>;
10
- export default Avatar;
@@ -1,69 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
- var _antd = require("antd");
10
- var _antdStyle = require("antd-style");
11
- var _reactLayoutKit = require("react-layout-kit");
12
- var _jsxRuntime = require("react/jsx-runtime");
13
- var _templateObject, _templateObject2;
14
- var useStyles = (0, _antdStyle.createStyles)(function (_ref) {
15
- var css = _ref.css,
16
- token = _ref.token;
17
- return {
18
- container: css(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n cursor: pointer;\n\n > * {\n cursor: pointer;\n }\n "]))),
19
- border: css(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n border: 1px solid ", ";\n "])), token.colorBorder)
20
- };
21
- });
22
- var Avatar = function Avatar(_ref2) {
23
- var avatar = _ref2.avatar,
24
- title = _ref2.title,
25
- _ref2$size = _ref2.size,
26
- size = _ref2$size === void 0 ? 40 : _ref2$size,
27
- _ref2$shape = _ref2.shape,
28
- shape = _ref2$shape === void 0 ? 'circle' : _ref2$shape,
29
- background = _ref2.background;
30
- var _useStyles = useStyles(),
31
- styles = _useStyles.styles,
32
- theme = _useStyles.theme;
33
- var backgroundColor = background !== null && background !== void 0 ? background : theme.colorBgContainer;
34
- var isImage = avatar && ['/', 'http', 'data:'].some(function (i) {
35
- return avatar.startsWith(i);
36
- });
37
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactLayoutKit.Center, {
38
- style: {
39
- width: size,
40
- height: size,
41
- borderRadius: shape === 'circle' ? '50%' : 6,
42
- backgroundColor: backgroundColor,
43
- borderWidth: isImage ? 1 : 0
44
- },
45
- className: styles.container,
46
- children: !avatar ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Avatar, {
47
- shape: shape,
48
- size: size,
49
- children: title === null || title === void 0 ? void 0 : title.slice(0, 2)
50
- }) : isImage ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Avatar, {
51
- shape: shape,
52
- size: size,
53
- src: avatar,
54
- className: styles.border
55
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactLayoutKit.Center, {
56
- className: styles.border,
57
- style: {
58
- width: size,
59
- height: size,
60
- fontSize: size / 2,
61
- borderRadius: shape === 'circle' ? '50%' : 6,
62
- backgroundColor: backgroundColor
63
- },
64
- children: avatar
65
- })
66
- });
67
- };
68
- var _default = Avatar;
69
- exports.default = _default;
@@ -1 +0,0 @@
1
- export declare const LOADING_FLAT = "...";
package/lib/Chat/const.js DELETED
@@ -1,8 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.LOADING_FLAT = void 0;
7
- var LOADING_FLAT = '...';
8
- exports.LOADING_FLAT = LOADING_FLAT;
@@ -1,2 +0,0 @@
1
- export { messagesReducer } from './store';
2
- export * from './types';
package/lib/Chat/index.js DELETED
@@ -1,27 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _exportNames = {
7
- messagesReducer: true
8
- };
9
- Object.defineProperty(exports, "messagesReducer", {
10
- enumerable: true,
11
- get: function get() {
12
- return _store.messagesReducer;
13
- }
14
- });
15
- var _store = require("./store");
16
- var _types = require("./types");
17
- Object.keys(_types).forEach(function (key) {
18
- if (key === "default" || key === "__esModule") return;
19
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
20
- if (key in exports && exports[key] === _types[key]) return;
21
- Object.defineProperty(exports, key, {
22
- enumerable: true,
23
- get: function get() {
24
- return _types[key];
25
- }
26
- });
27
- });
@@ -1,20 +0,0 @@
1
- /// <reference types="react" />
2
- import { StoreApi } from 'zustand';
3
- import { ChatStore } from './store';
4
- export declare const createChatStore: (showDevtools?: boolean) => import("zustand").UseBoundStore<Omit<StoreApi<ChatStore>, "setState"> & {
5
- setState<A extends string | {
6
- type: unknown;
7
- }>(partial: ChatStore | Partial<ChatStore> | ((state: ChatStore) => ChatStore | Partial<ChatStore>), replace?: boolean | undefined, action?: A | undefined): void;
8
- }>;
9
- export declare const Provider: ({ createStore, children }: {
10
- createStore: () => StoreApi<ChatStore>;
11
- children: any;
12
- }) => import("react").FunctionComponentElement<import("react").ProviderProps<StoreApi<ChatStore> | undefined>>, useStore: import("zustand-utils").UseContextStore<StoreApi<ChatStore>>, useStoreApi: () => {
13
- setState: (partial: ChatStore | Partial<ChatStore> | ((state: ChatStore) => ChatStore | Partial<ChatStore>), replace?: boolean | undefined) => void;
14
- getState: () => ChatStore;
15
- subscribe: (listener: (state: ChatStore, prevState: ChatStore) => void) => () => void;
16
- destroy: () => void;
17
- };
18
- export { messagesReducer, type MessageDispatch } from './messageReducer';
19
- export * from './selectors';
20
- export type { ChatStore } from './store';
@@ -1,50 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _exportNames = {
7
- createChatStore: true,
8
- Provider: true,
9
- useStore: true,
10
- useStoreApi: true,
11
- messagesReducer: true
12
- };
13
- exports.createChatStore = exports.Provider = void 0;
14
- Object.defineProperty(exports, "messagesReducer", {
15
- enumerable: true,
16
- get: function get() {
17
- return _messageReducer.messagesReducer;
18
- }
19
- });
20
- exports.useStoreApi = exports.useStore = void 0;
21
- var _zustand = require("zustand");
22
- var _zustandUtils = require("zustand-utils");
23
- var _store = require("./store");
24
- var _messageReducer = require("./messageReducer");
25
- var _selectors = require("./selectors");
26
- Object.keys(_selectors).forEach(function (key) {
27
- if (key === "default" || key === "__esModule") return;
28
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
29
- if (key in exports && exports[key] === _selectors[key]) return;
30
- Object.defineProperty(exports, key, {
31
- enumerable: true,
32
- get: function get() {
33
- return _selectors[key];
34
- }
35
- });
36
- });
37
- var createChatStore = function createChatStore() {
38
- var showDevtools = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
39
- return (0, _zustand.create)()((0, _zustandUtils.optionalDevtools)(showDevtools)(_store.createStore, {
40
- name: 'CHAT_COMPONENT'
41
- }));
42
- };
43
- exports.createChatStore = createChatStore;
44
- var _createContext = (0, _zustandUtils.createContext)(),
45
- Provider = _createContext.Provider,
46
- useStore = _createContext.useStore,
47
- useStoreApi = _createContext.useStoreApi;
48
- exports.useStoreApi = useStoreApi;
49
- exports.useStore = useStore;
50
- exports.Provider = Provider;
@@ -1,28 +0,0 @@
1
- import { ChatMessage, InternalChatContext, OpenAIRequestParams } from '../types';
2
- export interface ChatState extends InternalChatContext {
3
- /**
4
- * @title 消息
5
- * @type {string}
6
- */
7
- message: string;
8
- /**
9
- * @title 加载状态
10
- * @type {boolean}
11
- */
12
- loading: boolean;
13
- /**
14
- * @title 改变系统角色状态
15
- * @type {boolean}
16
- */
17
- changingSystemRole: boolean;
18
- /**
19
- * 编辑中的消息 id
20
- */
21
- editingMessageId?: number | null;
22
- onMessagesChange?: (messages: ChatMessage[]) => void;
23
- onResponseStart?: (messages: ChatMessage[]) => Promise<void>;
24
- onResponseFinished?: (session: any) => void;
25
- onAgentChange?: (agent: any, type: 'update' | 'remove') => void;
26
- request?: (params: OpenAIRequestParams) => Promise<Response>;
27
- }
28
- export declare const initialState: ChatState;
@@ -1,16 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.initialState = void 0;
7
- var initialState = {
8
- message: '',
9
- messages: [],
10
- loading: false,
11
- changingSystemRole: false,
12
- editingMessageId: null,
13
- createAt: -1,
14
- updateAt: -1
15
- };
16
- exports.initialState = initialState;
@@ -1,37 +0,0 @@
1
- import { ChatMessage, ChatMessageError, MessageRoleType } from '../types';
2
- export declare type MessageDispatch = {
3
- type: 'addMessage';
4
- message: ChatMessage;
5
- } | {
6
- type: 'insertMessage';
7
- message: ChatMessage;
8
- index: number;
9
- } | {
10
- type: 'deleteMessage';
11
- index: number;
12
- } | {
13
- type: 'resetMessages';
14
- } | {
15
- type: 'updateMessage';
16
- index: number;
17
- message: string;
18
- } | {
19
- type: 'updateMessageRole';
20
- index: number;
21
- role: MessageRoleType;
22
- } | {
23
- type: 'addUserMessage';
24
- message: string;
25
- } | {
26
- type: 'updateLatestBotMessage';
27
- responseStream: string[];
28
- } | {
29
- type: 'updateMessageChoice';
30
- message: string;
31
- index: number;
32
- } | {
33
- type: 'setErrorMessage';
34
- index: number;
35
- error: ChatMessageError | undefined;
36
- };
37
- export declare const messagesReducer: (state: ChatMessage[], payload: MessageDispatch) => ChatMessage[];
@@ -1,75 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.messagesReducer = void 0;
8
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
- var _immer = require("immer");
10
- var messagesReducer = function messagesReducer(state, payload) {
11
- switch (payload.type) {
12
- case 'addMessage':
13
- return [].concat((0, _toConsumableArray2.default)(state), [payload.message]);
14
- case 'insertMessage':
15
- return (0, _immer.produce)(state, function (draftState) {
16
- draftState.splice(payload.index, 0, payload.message);
17
- });
18
- case 'deleteMessage':
19
- return state.filter(function (_, i) {
20
- return i !== payload.index;
21
- });
22
- case 'resetMessages':
23
- return [];
24
- case 'updateMessage':
25
- return (0, _immer.produce)(state, function (draftState) {
26
- var index = payload.index,
27
- message = payload.message;
28
- draftState[index].content = message;
29
- });
30
- case 'updateMessageRole':
31
- return (0, _immer.produce)(state, function (draftState) {
32
- var index = payload.index,
33
- role = payload.role;
34
- draftState[index].role = role;
35
- });
36
- case 'addUserMessage':
37
- return (0, _immer.produce)(state, function (draftState) {
38
- draftState.push({
39
- role: 'user',
40
- content: payload.message
41
- });
42
- });
43
- case 'updateLatestBotMessage':
44
- return (0, _immer.produce)(state, function () {
45
- var responseStream = payload.responseStream;
46
- var newMessage = {
47
- role: 'assistant',
48
- content: responseStream.join('')
49
- };
50
- return [].concat((0, _toConsumableArray2.default)(state.slice(0, -1)), [newMessage]);
51
- });
52
- case 'setErrorMessage':
53
- return (0, _immer.produce)(state, function (draftState) {
54
- var index = payload.index,
55
- error = payload.error;
56
- draftState[index].error = error;
57
- });
58
- case 'updateMessageChoice':
59
- return (0, _immer.produce)(state, function (draftState) {
60
- var index = payload.index,
61
- message = payload.message;
62
- var botMessage = draftState[index];
63
- var prevMsg = botMessage.content;
64
- botMessage.content = message;
65
- if (botMessage.choices) {
66
- botMessage.choices.push(prevMsg);
67
- } else {
68
- botMessage.choices = [prevMsg];
69
- }
70
- });
71
- default:
72
- throw Error('暂未实现的 type,请检查 reducer');
73
- }
74
- };
75
- exports.messagesReducer = messagesReducer;
@@ -1,9 +0,0 @@
1
- import type { ChatStore } from './store';
2
- export declare const chatSelectors: {
3
- totalTokenCount: (s: ChatStore) => number;
4
- agentTokenCount: (s: ChatStore) => number;
5
- messagesTokenCount: (s: ChatStore) => number;
6
- totalTokens: (s: ChatStore) => number[];
7
- messagesTokens: (s: ChatStore) => number[];
8
- disableInput: (s: ChatStore) => boolean;
9
- };
@@ -1,51 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.chatSelectors = void 0;
7
- var _tiktoken = require("@dqbd/tiktoken");
8
- var tiktoken = (0, _tiktoken.get_encoding)('cl100k_base');
9
- var encode = function encode(text) {
10
- if (!text) return [];
11
- var tokens = tiktoken.encode(text);
12
- return tokens;
13
- };
14
- var disableInputSel = function disableInputSel(s) {
15
- return s.changingSystemRole;
16
- };
17
- var messagesTokens = function messagesTokens(s) {
18
- return encode(s.messages.map(function (m) {
19
- return m.content;
20
- }).join(''));
21
- };
22
- var agentContentTokens = function agentContentTokens(s) {
23
- return encode(s.messages.filter(function (s) {
24
- return s.role === 'system';
25
- }).map(function (c) {
26
- return c.content;
27
- }).join('') || '');
28
- };
29
- var totalTokens = function totalTokens(s) {
30
- return encode(s.messages.map(function (m) {
31
- return m.content;
32
- }).join(''));
33
- };
34
- var totalTokenCount = function totalTokenCount(s) {
35
- return totalTokens(s).length;
36
- };
37
- var agentTokenCount = function agentTokenCount(s) {
38
- return agentContentTokens(s).length;
39
- };
40
- var messagesTokenCount = function messagesTokenCount(s) {
41
- return messagesTokens(s).length;
42
- };
43
- var chatSelectors = {
44
- totalTokenCount: totalTokenCount,
45
- agentTokenCount: agentTokenCount,
46
- messagesTokenCount: messagesTokenCount,
47
- totalTokens: totalTokens,
48
- messagesTokens: messagesTokens,
49
- disableInput: disableInputSel
50
- };
51
- exports.chatSelectors = chatSelectors;