@lobehub/ui 1.11.1 → 1.11.2

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 (183) hide show
  1. package/package.json +1 -1
  2. package/lib/ActionIcon/index.d.ts +0 -49
  3. package/lib/ActionIcon/index.js +0 -80
  4. package/lib/ActionIcon/style.d.ts +0 -6
  5. package/lib/ActionIcon/style.js +0 -20
  6. package/lib/Avatar/index.d.ts +0 -10
  7. package/lib/Avatar/index.js +0 -69
  8. package/lib/Chat/const.d.ts +0 -1
  9. package/lib/Chat/const.js +0 -8
  10. package/lib/Chat/index.d.ts +0 -2
  11. package/lib/Chat/index.js +0 -27
  12. package/lib/Chat/store/index.d.ts +0 -20
  13. package/lib/Chat/store/index.js +0 -50
  14. package/lib/Chat/store/initialState.d.ts +0 -28
  15. package/lib/Chat/store/initialState.js +0 -16
  16. package/lib/Chat/store/messageReducer.d.ts +0 -37
  17. package/lib/Chat/store/messageReducer.js +0 -75
  18. package/lib/Chat/store/selectors.d.ts +0 -9
  19. package/lib/Chat/store/selectors.js +0 -51
  20. package/lib/Chat/store/store.d.ts +0 -34
  21. package/lib/Chat/store/store.js +0 -246
  22. package/lib/Chat/types.d.ts +0 -77
  23. package/lib/Chat/types.js +0 -5
  24. package/lib/Chat/utils/fetch.d.ts +0 -11
  25. package/lib/Chat/utils/fetch.js +0 -108
  26. package/lib/ContextMenu/MenuItem/icons.d.ts +0 -4
  27. package/lib/ContextMenu/MenuItem/icons.js +0 -82
  28. package/lib/ContextMenu/MenuItem/index.d.ts +0 -12
  29. package/lib/ContextMenu/MenuItem/index.js +0 -79
  30. package/lib/ContextMenu/MenuItem/style.d.ts +0 -7
  31. package/lib/ContextMenu/MenuItem/style.js +0 -24
  32. package/lib/ContextMenu/index.d.ts +0 -9
  33. package/lib/ContextMenu/index.js +0 -270
  34. package/lib/ContextMenu/style.d.ts +0 -4
  35. package/lib/ContextMenu/style.js +0 -20
  36. package/lib/ContextMenu/types/index.d.ts +0 -5
  37. package/lib/ContextMenu/types/index.js +0 -16
  38. package/lib/ContextMenu/types/menuItem.d.ts +0 -21
  39. package/lib/ContextMenu/types/menuItem.js +0 -5
  40. package/lib/Conversation/App.d.ts +0 -13
  41. package/lib/Conversation/App.js +0 -50
  42. package/lib/Conversation/ChatList/MessageItem/Content.d.ts +0 -8
  43. package/lib/Conversation/ChatList/MessageItem/Content.js +0 -109
  44. package/lib/Conversation/ChatList/MessageItem/Toolbar.d.ts +0 -10
  45. package/lib/Conversation/ChatList/MessageItem/Toolbar.js +0 -100
  46. package/lib/Conversation/ChatList/MessageItem/index.d.ts +0 -9
  47. package/lib/Conversation/ChatList/MessageItem/index.js +0 -132
  48. package/lib/Conversation/ChatList/index.d.ts +0 -14
  49. package/lib/Conversation/ChatList/index.js +0 -67
  50. package/lib/Conversation/InputArea/ActionBar.d.ts +0 -4
  51. package/lib/Conversation/InputArea/ActionBar.js +0 -79
  52. package/lib/Conversation/InputArea/index.d.ts +0 -4
  53. package/lib/Conversation/InputArea/index.js +0 -109
  54. package/lib/Conversation/StoreUpdater.d.ts +0 -7
  55. package/lib/Conversation/StoreUpdater.js +0 -32
  56. package/lib/Conversation/index.d.ts +0 -8
  57. package/lib/Conversation/index.js +0 -33
  58. package/lib/CopyButton/index.d.ts +0 -26
  59. package/lib/CopyButton/index.js +0 -41
  60. package/lib/DraggablePanel/index.d.ts +0 -92
  61. package/lib/DraggablePanel/index.js +0 -202
  62. package/lib/DraggablePanel/style.d.ts +0 -18
  63. package/lib/DraggablePanel/style.js +0 -38
  64. package/lib/DraggablePanel/utils.d.ts +0 -2
  65. package/lib/DraggablePanel/utils.js +0 -19
  66. package/lib/EditableMessage/index.d.ts +0 -43
  67. package/lib/EditableMessage/index.js +0 -73
  68. package/lib/EditableMessageList/index.d.ts +0 -9
  69. package/lib/EditableMessageList/index.js +0 -109
  70. package/lib/EditableText/index.d.ts +0 -5
  71. package/lib/EditableText/index.js +0 -43
  72. package/lib/Highlighter/SyntaxHighlighter/Prism.d.ts +0 -7
  73. package/lib/Highlighter/SyntaxHighlighter/Prism.js +0 -46
  74. package/lib/Highlighter/SyntaxHighlighter/index.d.ts +0 -5
  75. package/lib/Highlighter/SyntaxHighlighter/index.js +0 -64
  76. package/lib/Highlighter/SyntaxHighlighter/style.d.ts +0 -5
  77. package/lib/Highlighter/SyntaxHighlighter/style.js +0 -23
  78. package/lib/Highlighter/index.d.ts +0 -36
  79. package/lib/Highlighter/index.js +0 -56
  80. package/lib/Highlighter/style.d.ts +0 -5
  81. package/lib/Highlighter/style.js +0 -25
  82. package/lib/Icon/index.d.ts +0 -21
  83. package/lib/Icon/index.js +0 -45
  84. package/lib/Input/index.d.ts +0 -13
  85. package/lib/Input/index.js +0 -47
  86. package/lib/Input/style.d.ts +0 -6
  87. package/lib/Input/style.js +0 -20
  88. package/lib/List/ListItem/index.d.ts +0 -64
  89. package/lib/List/ListItem/index.js +0 -115
  90. package/lib/List/ListItem/time.d.ts +0 -2
  91. package/lib/List/ListItem/time.js +0 -18
  92. package/lib/List/index.d.ts +0 -5
  93. package/lib/List/index.js +0 -13
  94. package/lib/Logo/Divider.d.ts +0 -3
  95. package/lib/Logo/Divider.js +0 -28
  96. package/lib/Logo/Logo3D.d.ts +0 -3
  97. package/lib/Logo/Logo3D.js +0 -19
  98. package/lib/Logo/LogoFlat.d.ts +0 -3
  99. package/lib/Logo/LogoFlat.js +0 -110
  100. package/lib/Logo/LogoHighContrast.d.ts +0 -3
  101. package/lib/Logo/LogoHighContrast.js +0 -32
  102. package/lib/Logo/LogoText.d.ts +0 -3
  103. package/lib/Logo/LogoText.js +0 -26
  104. package/lib/Logo/index.d.ts +0 -20
  105. package/lib/Logo/index.js +0 -102
  106. package/lib/Logo/style.d.ts +0 -4
  107. package/lib/Logo/style.js +0 -18
  108. package/lib/Markdown/Code.d.ts +0 -3
  109. package/lib/Markdown/Code.js +0 -19
  110. package/lib/Markdown/CodeBlock.d.ts +0 -3
  111. package/lib/Markdown/CodeBlock.js +0 -36
  112. package/lib/Markdown/index.d.ts +0 -13
  113. package/lib/Markdown/index.js +0 -39
  114. package/lib/Markdown/style.d.ts +0 -4
  115. package/lib/Markdown/style.js +0 -20
  116. package/lib/MessageInput/index.d.ts +0 -37
  117. package/lib/MessageInput/index.js +0 -63
  118. package/lib/MessageModal/index.d.ts +0 -11
  119. package/lib/MessageModal/index.js +0 -87
  120. package/lib/SearchBar/index.d.ts +0 -8
  121. package/lib/SearchBar/index.js +0 -90
  122. package/lib/SearchBar/style.d.ts +0 -6
  123. package/lib/SearchBar/style.js +0 -21
  124. package/lib/SideNav/index.d.ts +0 -18
  125. package/lib/SideNav/index.js +0 -46
  126. package/lib/SideNav/style.d.ts +0 -1
  127. package/lib/SideNav/style.js +0 -16
  128. package/lib/Snippet/index.d.ts +0 -29
  129. package/lib/Snippet/index.js +0 -44
  130. package/lib/Snippet/style.d.ts +0 -1
  131. package/lib/Snippet/style.js +0 -16
  132. package/lib/StroyBook/index.d.ts +0 -17
  133. package/lib/StroyBook/index.js +0 -64
  134. package/lib/StroyBook/style.d.ts +0 -8
  135. package/lib/StroyBook/style.js +0 -22
  136. package/lib/Swatches/index.d.ts +0 -8
  137. package/lib/Swatches/index.js +0 -50
  138. package/lib/TabsNav/index.d.ts +0 -22
  139. package/lib/TabsNav/index.js +0 -26
  140. package/lib/TabsNav/style.d.ts +0 -3
  141. package/lib/TabsNav/style.js +0 -22
  142. package/lib/ThemeProvider/GlobalStyle.d.ts +0 -3
  143. package/lib/ThemeProvider/GlobalStyle.js +0 -31
  144. package/lib/ThemeProvider/index.d.ts +0 -22
  145. package/lib/ThemeProvider/index.js +0 -46
  146. package/lib/ThemeSwitch/index.d.ts +0 -27
  147. package/lib/ThemeSwitch/index.js +0 -66
  148. package/lib/Tooltip/index.d.ts +0 -5
  149. package/lib/Tooltip/index.js +0 -29
  150. package/lib/Tooltip/style.d.ts +0 -3
  151. package/lib/Tooltip/style.js +0 -18
  152. package/lib/components/ControlInput.d.ts +0 -9
  153. package/lib/components/ControlInput.js +0 -90
  154. package/lib/hooks/useCopied.d.ts +0 -4
  155. package/lib/hooks/useCopied.js +0 -34
  156. package/lib/hooks/useHighlight.d.ts +0 -36
  157. package/lib/hooks/useHighlight.js +0 -71
  158. package/lib/index.d.ts +0 -27
  159. package/lib/index.js +0 -213
  160. package/lib/styles/algorithms/generateColorPalette.d.ts +0 -11
  161. package/lib/styles/algorithms/generateColorPalette.js +0 -40
  162. package/lib/styles/algorithms/generateCustomStylish.d.ts +0 -17
  163. package/lib/styles/algorithms/generateCustomStylish.js +0 -27
  164. package/lib/styles/algorithms/generateCustomToken.d.ts +0 -3
  165. package/lib/styles/algorithms/generateCustomToken.js +0 -65
  166. package/lib/styles/algorithms/generateTheme.d.ts +0 -5
  167. package/lib/styles/algorithms/generateTheme.js +0 -28
  168. package/lib/styles/colors.d.ts +0 -38
  169. package/lib/styles/colors.js +0 -183
  170. package/lib/styles/index.d.ts +0 -3
  171. package/lib/styles/index.js +0 -26
  172. package/lib/styles/theme/base.d.ts +0 -2
  173. package/lib/styles/theme/base.js +0 -20
  174. package/lib/styles/theme/dark.d.ts +0 -3
  175. package/lib/styles/theme/dark.js +0 -50
  176. package/lib/styles/theme/light.d.ts +0 -3
  177. package/lib/styles/theme/light.js +0 -50
  178. package/lib/types/customToken.d.ts +0 -1027
  179. package/lib/types/global.d.ts +0 -12
  180. package/lib/types/index.d.ts +0 -6
  181. package/lib/types/index.js +0 -5
  182. package/lib/utils/colorUtils.d.ts +0 -1
  183. package/lib/utils/colorUtils.js +0 -18
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobehub/ui",
3
- "version": "1.11.1",
3
+ "version": "1.11.2",
4
4
  "description": "Lobe UI is an open-source UI component library for building chatbot web apps",
5
5
  "keywords": [
6
6
  "lobehub",
@@ -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;
@@ -1,34 +0,0 @@
1
- import { StateCreator } from 'zustand/vanilla';
2
- import { ChatMessage } from '../types';
3
- import { FetchSSEOptions } from '../utils/fetch';
4
- import { ChatState } from './initialState';
5
- import { MessageDispatch } from './messageReducer';
6
- interface ChatAction {
7
- /**
8
- * @title 发送消息
9
- * @returns Promise<void>
10
- */
11
- sendMessage: () => Promise<void>;
12
- /**
13
- * @title 重发消息
14
- * @param index - 消息索引
15
- * @returns Promise<void>
16
- */
17
- resendMessage: (index: number) => Promise<void>;
18
- generateMessage: (message: string, messages: ChatMessage[], options: FetchSSEOptions) => Promise<void>;
19
- /**
20
- * @title 派发消息
21
- * @param payload - 消息分发
22
- * @returns void
23
- */
24
- dispatchMessage: (payload: MessageDispatch) => void;
25
- /**
26
- * @title 处理消息编辑
27
- * @param index - 消息索引或空
28
- * @returns void
29
- */
30
- handleMessageEditing: (index?: number | null) => void;
31
- }
32
- export declare type ChatStore = ChatAction & ChatState;
33
- export declare const createStore: StateCreator<ChatStore, [['zustand/devtools', never]]>;
34
- export {};