@lobehub/ui 1.23.0 → 1.25.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 (64) hide show
  1. package/es/Chat/store/index.d.ts +1 -1
  2. package/es/DraggablePanel/index.js +4 -4
  3. package/es/DraggablePanel/style.d.ts +1 -1
  4. package/es/DraggablePanel/style.js +1 -1
  5. package/es/Features/Item.d.ts +20 -0
  6. package/es/Features/Item.js +105 -0
  7. package/es/Features/Item.style.d.ts +12 -0
  8. package/es/Features/Item.style.js +34 -0
  9. package/es/Features/index.d.ts +12 -0
  10. package/es/Features/index.js +33 -0
  11. package/es/Features/style.d.ts +3 -0
  12. package/es/Features/style.js +18 -0
  13. package/es/Footer/index.d.ts +10 -0
  14. package/es/Footer/index.js +27 -0
  15. package/es/Footer/style.d.ts +7 -0
  16. package/es/Footer/style.js +15 -0
  17. package/es/GradientButton/index.d.ts +7 -0
  18. package/es/GradientButton/index.js +28 -0
  19. package/es/GradientButton/style.d.ts +5 -0
  20. package/es/GradientButton/style.js +14 -0
  21. package/es/Header/index.d.ts +9 -0
  22. package/es/Header/index.js +58 -0
  23. package/es/Header/style.d.ts +6 -0
  24. package/es/Header/style.js +16 -0
  25. package/es/Hero/index.d.ts +15 -0
  26. package/es/Hero/index.js +85 -0
  27. package/es/Hero/style.d.ts +7 -0
  28. package/es/Hero/style.js +27 -0
  29. package/es/Layout/index.d.ts +15 -0
  30. package/es/Layout/index.js +81 -0
  31. package/es/Layout/style.d.ts +11 -0
  32. package/es/Layout/style.js +20 -0
  33. package/es/Markdown/index.js +3 -2
  34. package/es/SearchBar/style.js +1 -1
  35. package/es/Snippet/index.js +1 -1
  36. package/es/Snippet/style.d.ts +3 -1
  37. package/es/Snippet/style.js +3 -1
  38. package/es/StroyBook/style.js +1 -1
  39. package/es/ThemeProvider/GlobalStyle.js +1 -7
  40. package/es/Toc/TocMobile.d.ts +27 -0
  41. package/es/Toc/TocMobile.js +108 -0
  42. package/es/Toc/index.d.ts +7 -0
  43. package/es/Toc/index.js +39 -0
  44. package/es/Toc/style.d.ts +9 -0
  45. package/es/Toc/style.js +20 -0
  46. package/es/index.d.ts +7 -0
  47. package/es/index.js +7 -0
  48. package/es/styles/algorithms/generateCustomStylish.js +9 -3
  49. package/es/types/customStylish.d.ts +4 -0
  50. package/package.json +9 -7
  51. package/es/Menu/MenuItem/icons.d.ts +0 -4
  52. package/es/Menu/MenuItem/icons.js +0 -73
  53. package/es/Menu/MenuItem/index.d.ts +0 -12
  54. package/es/Menu/MenuItem/index.js +0 -73
  55. package/es/Menu/MenuItem/style.d.ts +0 -7
  56. package/es/Menu/MenuItem/style.js +0 -16
  57. package/es/Menu/index.d.ts +0 -17
  58. package/es/Menu/index.js +0 -248
  59. package/es/Menu/style.d.ts +0 -4
  60. package/es/Menu/style.js +0 -12
  61. package/es/Menu/types/index.d.ts +0 -5
  62. package/es/Menu/types/index.js +0 -2
  63. package/es/Menu/types/menuItem.d.ts +0 -21
  64. package/es/Menu/types/menuItem.js +0 -1
@@ -0,0 +1,27 @@
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
+ responsive = _ref.responsive,
7
+ token = _ref.token,
8
+ stylish = _ref.stylish;
9
+ return {
10
+ container: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: relative;\n box-sizing: border-box;\n text-align: center;\n "]))),
11
+ title: css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n z-index: 10;\n margin: 0;\n font-size: 100px;\n\n ", "\n\n b {\n ", "\n position: relative;\n z-index: 5;\n background-clip: text;\n\n -webkit-text-fill-color: transparent;\n }\n "])), responsive({
12
+ mobile: {
13
+ fontSize: 72,
14
+ flexDirection: 'column',
15
+ display: 'flex',
16
+ lineHeight: 1.2
17
+ }
18
+ }), stylish.gradientAnimation),
19
+ desc: css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n margin-top: 0;\n font-size: ", "px;\n color: ", ";\n text-align: center;\n\n ", " {\n margin: 24px 16px;\n font-size: ", "px;\n }\n "])), token.fontSizeHeading3, token.colorTextSecondary, responsive.mobile, token.fontSizeHeading5),
20
+ actions: css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n display: flex;\n justify-content: center;\n margin-top: 24px;\n\n button {\n padding-inline: 32px !important;\n font-weight: 500;\n }\n\n ", "\n "])), responsive({
21
+ mobile: {
22
+ marginTop: 24
23
+ }
24
+ })),
25
+ canvas: css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n ", ";\n filter: blur(100px);\n\n pointer-events: none;\n\n position: absolute;\n z-index: 10;\n top: -250px;\n left: 50%;\n transform: translateX(-50%) scale(1.5);\n\n width: 600px;\n height: 400px;\n\n opacity: 0.2;\n\n ", " {\n width: 200px;\n height: 300px;\n }\n "])), stylish.gradientAnimation, responsive.mobile)
26
+ };
27
+ });
@@ -0,0 +1,15 @@
1
+ import { ReactNode } from 'react';
2
+ export interface LayoutProps {
3
+ asideWidth?: number;
4
+ children?: ReactNode;
5
+ content?: ReactNode;
6
+ footer?: ReactNode;
7
+ header?: ReactNode;
8
+ headerHeight?: number;
9
+ helmet?: ReactNode;
10
+ sidebar?: ReactNode;
11
+ toc?: ReactNode;
12
+ tocWidth?: number;
13
+ }
14
+ declare const Layout: import("react").NamedExoticComponent<LayoutProps>;
15
+ export default Layout;
@@ -0,0 +1,81 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import { useResponsive } from 'antd-style';
3
+ import { memo, useEffect, useState } from 'react';
4
+ import { DraggablePanel } from "./..";
5
+ import { useStyles } from "./style";
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ import { jsxs as _jsxs } from "react/jsx-runtime";
8
+ import { Fragment as _Fragment } from "react/jsx-runtime";
9
+ var Layout = /*#__PURE__*/memo(function (_ref) {
10
+ var helmet = _ref.helmet,
11
+ _ref$headerHeight = _ref.headerHeight,
12
+ headerHeight = _ref$headerHeight === void 0 ? 64 : _ref$headerHeight,
13
+ header = _ref.header,
14
+ footer = _ref.footer,
15
+ sidebar = _ref.sidebar,
16
+ asideWidth = _ref.asideWidth,
17
+ toc = _ref.toc,
18
+ children = _ref.children,
19
+ tocWidth = _ref.tocWidth;
20
+ var _useStyles = useStyles(headerHeight),
21
+ styles = _useStyles.styles;
22
+ var _useResponsive = useResponsive(),
23
+ mobile = _useResponsive.mobile,
24
+ laptop = _useResponsive.laptop;
25
+ var _useState = useState(true),
26
+ _useState2 = _slicedToArray(_useState, 2),
27
+ expand = _useState2[0],
28
+ setExpand = _useState2[1];
29
+ useEffect(function () {
30
+ setExpand(Boolean(laptop));
31
+ }, [laptop]);
32
+ return /*#__PURE__*/_jsxs(_Fragment, {
33
+ children: [helmet, header && /*#__PURE__*/_jsxs("header", {
34
+ className: styles.header,
35
+ style: {
36
+ height: headerHeight
37
+ },
38
+ children: [/*#__PURE__*/_jsx("div", {
39
+ className: styles.glass
40
+ }), header, mobile && toc && /*#__PURE__*/_jsx("nav", {
41
+ className: styles.toc,
42
+ children: toc
43
+ })]
44
+ }), /*#__PURE__*/_jsxs("main", {
45
+ className: styles.main,
46
+ children: [!mobile && !sidebar && /*#__PURE__*/_jsx("nav", {
47
+ style: {
48
+ width: tocWidth
49
+ }
50
+ }), !mobile && sidebar && /*#__PURE__*/_jsx("aside", {
51
+ className: styles.aside,
52
+ style: {
53
+ top: headerHeight
54
+ },
55
+ children: /*#__PURE__*/_jsx(DraggablePanel, {
56
+ expand: expand,
57
+ maxWidth: asideWidth,
58
+ onExpandChange: setExpand,
59
+ placement: "left",
60
+ children: /*#__PURE__*/_jsx("div", {
61
+ className: styles.asideInner,
62
+ children: sidebar
63
+ })
64
+ })
65
+ }), /*#__PURE__*/_jsx("section", {
66
+ className: styles.content,
67
+ children: children
68
+ }), !mobile && toc && /*#__PURE__*/_jsx("nav", {
69
+ className: styles.toc,
70
+ style: {
71
+ width: tocWidth
72
+ },
73
+ children: toc
74
+ })]
75
+ }), footer && /*#__PURE__*/_jsx("footer", {
76
+ className: styles.footer,
77
+ children: footer
78
+ })]
79
+ });
80
+ });
81
+ export default Layout;
@@ -0,0 +1,11 @@
1
+ export declare const useStyles: (props?: number | undefined) => import("antd-style").ReturnStyles<{
2
+ app: import("antd-style").SerializedStyles;
3
+ header: import("antd-style").SerializedStyles;
4
+ glass: import("antd-style").SerializedStyles;
5
+ main: import("antd-style").SerializedStyles;
6
+ content: import("antd-style").SerializedStyles;
7
+ footer: import("antd-style").SerializedStyles;
8
+ aside: import("antd-style").SerializedStyles;
9
+ asideInner: import("antd-style").SerializedStyles;
10
+ toc: import("antd-style").SerializedStyles;
11
+ }>;
@@ -0,0 +1,20 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
2
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
3
+ import { createStyles } from 'antd-style';
4
+ export var useStyles = createStyles(function (_ref, headerHeight) {
5
+ var css = _ref.css,
6
+ stylish = _ref.stylish,
7
+ responsive = _ref.responsive;
8
+ var baseGlass = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n pointer-events: none;\n content: '';\n user-select: none;\n\n position: absolute;\n z-index: -1;\n inset: -1px 0 ", ";\n "])), responsive.mobile ? '-25%' : '-50%');
9
+ return {
10
+ app: css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n overflow-x: hidden;\n overflow-y: auto;\n height: 100vh;\n "]))),
11
+ header: css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n position: sticky;\n z-index: 999;\n top: 0;\n max-width: 100%;\n "]))),
12
+ glass: css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n z-index: 0;\n\n &::before {\n ", ";\n ", ";\n mask-image: linear-gradient(to bottom, black ", "px, transparent);\n }\n\n &::after {\n ", ";\n }\n "])), stylish.blur, baseGlass, headerHeight, baseGlass),
13
+ main: css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n position: relative;\n display: flex;\n align-items: stretch;\n max-width: 100vw;\n "]))),
14
+ content: css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n position: relative;\n flex: 1;\n max-width: 100%;\n "]))),
15
+ footer: css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n position: relative;\n max-width: 100%;\n "]))),
16
+ aside: css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n position: sticky;\n z-index: 2;\n height: 100%;\n "]))),
17
+ asideInner: css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n overflow-x: hidden;\n overflow-y: auto;\n width: 100%;\n height: calc(100vh - 64px);\n "]))),
18
+ toc: css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral([""])))
19
+ };
20
+ });
@@ -1,4 +1,4 @@
1
- import { Divider, Typography } from 'antd';
1
+ import { Collapse, Divider, Typography } from 'antd';
2
2
  import pangu from 'pangu';
3
3
  import { memo } from 'react';
4
4
  import ReactMarkdown from 'react-markdown';
@@ -17,7 +17,8 @@ var Markdown = /*#__PURE__*/memo(function (_ref) {
17
17
  pre: CodeBlock,
18
18
  code: Code,
19
19
  hr: Divider,
20
- a: Typography.Link
20
+ a: Typography.Link,
21
+ details: Collapse
21
22
  };
22
23
  return /*#__PURE__*/_jsx(Typography, {
23
24
  children: /*#__PURE__*/_jsx(ReactMarkdown, {
@@ -7,7 +7,7 @@ export var useStyles = createStyles(function (_ref) {
7
7
  return {
8
8
  search: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: relative;\n max-width: 100%;\n "]))),
9
9
  input: css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n position: relative;\n padding: 0 8px 0 12px;\n "]))),
10
- tag: css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n pointer-events: none;\n\n position: absolute;\n z-index: 5;\n top: 50%;\n right: 0;\n transform: translateY(-50%);\n "]))),
10
+ tag: css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n pointer-events: none;\n\n position: absolute;\n z-index: 5;\n top: 50%;\n right: 0;\n transform: translateY(-50%);\n\n background: ", ";\n "])), token.colorBgContainer),
11
11
  icon: css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n color: ", ";\n "])), token.colorTextPlaceholder)
12
12
  };
13
13
  });
@@ -22,7 +22,7 @@ var Snippet = /*#__PURE__*/memo(function (_ref) {
22
22
  var _useStyles = useStyles(type),
23
23
  styles = _useStyles.styles;
24
24
  return /*#__PURE__*/_jsxs("div", _objectSpread(_objectSpread({
25
- className: styles
25
+ className: styles.container
26
26
  }, props), {}, {
27
27
  children: [spotlight && /*#__PURE__*/_jsx(Spotlight, {}), /*#__PURE__*/_jsx(SyntaxHighlighter, {
28
28
  language: language,
@@ -1 +1,3 @@
1
- export declare const useStyles: (props?: "block" | "ghost" | undefined) => import("antd-style").ReturnStyles<string>;
1
+ export declare const useStyles: (props?: "block" | "ghost" | undefined) => import("antd-style").ReturnStyles<{
2
+ container: string;
3
+ }>;
@@ -6,5 +6,7 @@ export var useStyles = createStyles(function (_ref, type) {
6
6
  cx = _ref.cx,
7
7
  token = _ref.token;
8
8
  var typeStylish = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n background-color: ", ";\n border: 1px solid ", ";\n "])), type === 'block' ? token.colorFillTertiary : 'transparent', type === 'block' ? 'transparent' : token.colorBorder);
9
- return cx(typeStylish, css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n position: relative;\n\n display: flex;\n gap: 8px;\n align-items: center;\n\n max-width: 100%;\n height: 36px;\n padding: 0 8px 0 12px;\n\n border-radius: ", "px;\n\n transition: background-color 100ms ", ";\n\n &:hover {\n background-color: ", ";\n }\n\n .ant-highlighter-shiki {\n overflow: auto;\n flex: 1;\n }\n\n .prism-code {\n background: none !important;\n }\n\n pre {\n margin: 0 !important;\n padding-top: 6px !important;\n line-height: 1;\n background: none !important;\n }\n\n code[class*='language-'] {\n background: none !important;\n }\n "])), token.borderRadius, token.motionEaseOut, token.colorFillTertiary));
9
+ return {
10
+ container: cx(typeStylish, css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n position: relative;\n\n overflow: hidden;\n display: flex;\n gap: 8px;\n align-items: center;\n\n max-width: 100%;\n padding: 0 8px 0 12px;\n\n border-radius: ", "px;\n\n transition: background-color 100ms ", ";\n\n &:hover {\n background-color: ", ";\n }\n\n .ant-highlighter-shiki {\n position: relative;\n overflow: hidden;\n flex: 1;\n }\n\n .prism-code {\n background: none !important;\n }\n\n pre {\n overflow-x: auto !important;\n overflow-y: hidden !important;\n display: flex;\n align-items: center;\n\n width: 100%;\n height: 36px !important;\n margin: 0 !important;\n\n line-height: 1;\n\n background: none !important;\n }\n\n code[class*='language-'] {\n background: none !important;\n }\n "])), token.borderRadius, token.motionEaseOut, token.colorFillTertiary))
11
+ };
10
12
  });
@@ -9,7 +9,7 @@ export var useStyles = createStyles(function (_ref, _ref2) {
9
9
  return {
10
10
  editor: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n align-items: stretch;\n justify-content: stretch;\n\n width: inherit;\n min-height: inherit;\n ", "\n "])), mobile && css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n flex-direction: column;\n "])))),
11
11
  left: css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n overflow: auto;\n display: flex;\n flex: 1;\n align-items: center;\n justify-content: center;\n\n ", "\n "])), !noPadding && css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n padding: 40px 24px;\n "])))),
12
- right: css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n background: ", ";\n "])), token.colorBgLayout),
12
+ right: css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n background: ", ";\n\n .draggable-panel-fixed {\n width: 100% !important;\n }\n "])), token.colorBgLayout),
13
13
  leva: css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n --leva-sizes-controlWidth: 66%;\n --leva-colors-elevation1: ", ";\n --leva-colors-elevation2: transparent;\n --leva-colors-elevation3: ", ";\n --leva-colors-accent1: ", ";\n --leva-colors-accent2: ", ";\n --leva-colors-accent3: ", ";\n --leva-colors-highlight1: ", ";\n --leva-colors-highlight2: ", ";\n --leva-colors-highlight3: ", ";\n --leva-colors-vivid1: ", ";\n --leva-shadows-level1: unset;\n --leva-shadows-level2: unset;\n --leva-fonts-mono: ", ";\n\n overflow: auto;\n width: 100%;\n height: 100%;\n padding: 6px 0;\n\n > div {\n background: transparent;\n\n > div {\n background: transparent;\n }\n }\n\n input:checked + label > svg {\n stroke: ", ";\n }\n\n button {\n --leva-colors-accent2: ", ";\n }\n "])), token.colorFillSecondary, token.colorFillSecondary, token.colorPrimary, token.colorPrimaryHover, token.colorPrimaryActive, token.colorTextTertiary, token.colorTextSecondary, token.colorText, token.colorWarning, token.fontFamilyCode, token.colorBgLayout, token.colorFillSecondary)
14
14
  };
15
15
  });
@@ -1,7 +1,7 @@
1
1
  import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
2
2
  var _templateObject;
3
3
  import { createGlobalStyle } from 'antd-style';
4
- var GlobalStyle = createGlobalStyle(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n\n html,body {\n --font-settings: \"cv01\", \"tnum\", \"kern\";\n --font-variations: \"opsz\" auto, tabular-nums;\n\n overflow-x: hidden;\n\n margin: 0;\n padding: 0;\n\n font-family: ", ";\n font-size: ", "px;\n font-feature-settings: var(--font-settings);\n font-variation-settings: var(--font-variations);\n line-height: 1;\n color: ", ";\n text-size-adjust: none;\n text-rendering: optimizelegibility;\n vertical-align: baseline;\n\n color-scheme: dark;\n background-color: ", ";\n\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n -webkit-tap-highlight-color: transparent;\n }\n\n\n * {\n\t box-sizing: border-box;\n\t vertical-align: baseline;\n }\n\n ::selection {\n color: #000;\n background: ", ";\n }\n\n ::-webkit-scrollbar {\n\t width: 0;\n\t height: 4px;\n\t background-color: transparent;\n\n\t &-thumb {\n\t\t background-color: transparent;\n\t\t border-radius: 4px;\n\t\t transition: background-color 500ms ", ";\n\t }\n\n\t &-corner {\n\t\t display: none;\n\t }\n }\n\n #root {\n\t min-height: 100vh;\n }\n\n p {\n text-align: justify;\n word-wrap: break-word;\n }\n\n code {\n\t font-family: ", " !important;\n\n\t * {\n\t\t font-family: inherit !important;\n\t }\n }\n\n *:hover, *:focus {\n\t ::-webkit-scrollbar {\n\t\t &-thumb {\n\t\t\t background-color: ", ";\n\t\t }\n\t }\n }\n"])), function (_ref) {
4
+ var GlobalStyle = createGlobalStyle(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n\n html,body {\n --font-settings: \"cv01\", \"tnum\", \"kern\";\n --font-variations: \"opsz\" auto, tabular-nums;\n\n overflow-x: hidden;\n\n margin: 0;\n padding: 0;\n\n font-family: ", ";\n font-size: ", "px;\n font-feature-settings: var(--font-settings);\n font-variation-settings: var(--font-variations);\n line-height: 1;\n color: ", ";\n text-size-adjust: none;\n text-rendering: optimizelegibility;\n vertical-align: baseline;\n\n color-scheme: dark;\n background-color: ", ";\n\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n -webkit-tap-highlight-color: transparent;\n }\n\n body {\n overflow-x: hidden;\n overflow-y: auto;\n height: 100vh;\n }\n\n\n * {\n\t box-sizing: border-box;\n\t vertical-align: baseline;\n }\n\n ::selection {\n color: #000;\n background: ", ";\n }\n\n\n #root {\n\t min-height: 100vh;\n }\n\n p {\n text-align: justify;\n word-wrap: break-word;\n }\n\n code {\n\t font-family: ", " !important;\n\n\t * {\n\t\t font-family: inherit !important;\n\t }\n }\n"])), function (_ref) {
5
5
  var theme = _ref.theme;
6
6
  return theme.fontFamily;
7
7
  }, function (_ref2) {
@@ -18,12 +18,6 @@ var GlobalStyle = createGlobalStyle(_templateObject || (_templateObject = _tagge
18
18
  return theme.yellow9;
19
19
  }, function (_ref6) {
20
20
  var theme = _ref6.theme;
21
- return theme.motionEaseOut;
22
- }, function (_ref7) {
23
- var theme = _ref7.theme;
24
21
  return theme.fontFamilyCode;
25
- }, function (_ref8) {
26
- var theme = _ref8.theme;
27
- return theme.colorFill;
28
22
  });
29
23
  export default GlobalStyle;
@@ -0,0 +1,27 @@
1
+ /// <reference types="react" />
2
+ import { AnchorProps } from 'antd';
3
+ export interface AnchorItem {
4
+ children?: AnchorItem[];
5
+ id: string;
6
+ title: string;
7
+ }
8
+ export interface TocMobileProps {
9
+ activeKey?: string;
10
+ getContainer?: AnchorProps['getContainer'];
11
+ headerHeight?: number;
12
+ items: AnchorItem[];
13
+ onChange?: (activeKey: string) => void;
14
+ tocWidth?: number;
15
+ }
16
+ export declare const mapItems: (items: AnchorItem[]) => {
17
+ href: string;
18
+ title: string;
19
+ key: string;
20
+ children: {
21
+ href: string;
22
+ title: string;
23
+ key: string;
24
+ }[] | undefined;
25
+ }[];
26
+ declare const TocMobile: import("react").NamedExoticComponent<TocMobileProps>;
27
+ export default TocMobile;
@@ -0,0 +1,108 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import { ActionIcon } from "./..";
3
+ import { Anchor, Collapse, ConfigProvider } from 'antd';
4
+ import { PanelTopClose, PanelTopOpen } from 'lucide-react';
5
+ import { memo } from 'react';
6
+ import useControlledState from 'use-merge-value';
7
+ import { useStyles } from "./style";
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ export var mapItems = function mapItems(items) {
10
+ return items.map(function (item) {
11
+ var _item$children;
12
+ return {
13
+ href: "#".concat(item.id),
14
+ title: item.title,
15
+ key: item.id,
16
+ children: (_item$children = item.children) === null || _item$children === void 0 ? void 0 : _item$children.map(function (child) {
17
+ return {
18
+ href: "#".concat(child.id),
19
+ title: child === null || child === void 0 ? void 0 : child.title,
20
+ key: child.id
21
+ };
22
+ })
23
+ };
24
+ });
25
+ };
26
+ var TocMobile = /*#__PURE__*/memo(function (_ref) {
27
+ var items = _ref.items,
28
+ activeKey = _ref.activeKey,
29
+ onChange = _ref.onChange,
30
+ getContainer = _ref.getContainer,
31
+ _ref$headerHeight = _ref.headerHeight,
32
+ headerHeight = _ref$headerHeight === void 0 ? 64 : _ref$headerHeight,
33
+ _ref$tocWidth = _ref.tocWidth,
34
+ tocWidth = _ref$tocWidth === void 0 ? 176 : _ref$tocWidth;
35
+ var _useControlledState = useControlledState('', {
36
+ value: activeKey,
37
+ onChange: onChange
38
+ }),
39
+ _useControlledState2 = _slicedToArray(_useControlledState, 2),
40
+ activeLink = _useControlledState2[0],
41
+ setActiveLink = _useControlledState2[1];
42
+ var _useStyles = useStyles({
43
+ headerHeight: headerHeight,
44
+ tocWidth: tocWidth
45
+ }),
46
+ styles = _useStyles.styles;
47
+ var activeAnchor = items.find(function (item) {
48
+ return item.id === activeLink;
49
+ });
50
+ return /*#__PURE__*/_jsx(ConfigProvider, {
51
+ theme: {
52
+ token: {
53
+ fontSize: 12,
54
+ sizeStep: 3
55
+ }
56
+ },
57
+ children: /*#__PURE__*/_jsx("section", {
58
+ className: styles.mobileCtn,
59
+ children: /*#__PURE__*/_jsx(Collapse, {
60
+ bordered: false,
61
+ className: styles.expand,
62
+ expandIcon: function expandIcon(_ref2) {
63
+ var isActive = _ref2.isActive;
64
+ return isActive ? /*#__PURE__*/_jsx(ActionIcon, {
65
+ icon: PanelTopClose,
66
+ size: {
67
+ fontSize: 16,
68
+ strokeWidth: 1,
69
+ blockSize: 24,
70
+ borderRadius: 3
71
+ }
72
+ }) : /*#__PURE__*/_jsx(ActionIcon, {
73
+ icon: PanelTopOpen,
74
+ size: {
75
+ fontSize: 16,
76
+ strokeWidth: 1,
77
+ blockSize: 24,
78
+ borderRadius: 3
79
+ }
80
+ });
81
+ },
82
+ expandIconPosition: 'end',
83
+ ghost: true,
84
+ children: /*#__PURE__*/_jsx(Collapse.Panel, {
85
+ forceRender: true,
86
+ header: !activeAnchor ? 'TOC' : activeAnchor.title,
87
+ children: /*#__PURE__*/_jsx(ConfigProvider, {
88
+ theme: {
89
+ token: {
90
+ fontSize: 14,
91
+ sizeStep: 4
92
+ }
93
+ },
94
+ children: /*#__PURE__*/_jsx(Anchor, {
95
+ getContainer: getContainer,
96
+ items: mapItems(items),
97
+ onChange: function onChange(currentLink) {
98
+ setActiveLink(currentLink.replace('#', ''));
99
+ },
100
+ targetOffset: headerHeight + 48
101
+ })
102
+ })
103
+ }, 'toc')
104
+ })
105
+ })
106
+ });
107
+ });
108
+ export default TocMobile;
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { type TocMobileProps } from './TocMobile';
3
+ export interface TocProps extends TocMobileProps {
4
+ isMobile?: boolean;
5
+ }
6
+ declare const Toc: import("react").NamedExoticComponent<TocProps>;
7
+ export default Toc;
@@ -0,0 +1,39 @@
1
+ import { Anchor } from 'antd';
2
+ import { memo } from 'react';
3
+ import { default as TocMobile, mapItems } from "./TocMobile";
4
+ import { useStyles } from "./style";
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ import { jsxs as _jsxs } from "react/jsx-runtime";
7
+ var Toc = /*#__PURE__*/memo(function (_ref) {
8
+ var activeKey = _ref.activeKey,
9
+ items = _ref.items,
10
+ getContainer = _ref.getContainer,
11
+ isMobile = _ref.isMobile,
12
+ _ref$headerHeight = _ref.headerHeight,
13
+ headerHeight = _ref$headerHeight === void 0 ? 64 : _ref$headerHeight,
14
+ _ref$tocWidth = _ref.tocWidth,
15
+ tocWidth = _ref$tocWidth === void 0 ? 176 : _ref$tocWidth;
16
+ var _useStyles = useStyles({
17
+ headerHeight: headerHeight,
18
+ tocWidth: tocWidth
19
+ }),
20
+ styles = _useStyles.styles,
21
+ cx = _useStyles.cx;
22
+ if (isMobile) return /*#__PURE__*/_jsx(TocMobile, {
23
+ activeKey: activeKey,
24
+ getContainer: getContainer,
25
+ headerHeight: headerHeight,
26
+ items: items
27
+ });
28
+ return /*#__PURE__*/_jsxs("section", {
29
+ className: cx(styles.container, styles.anchor),
30
+ children: [/*#__PURE__*/_jsx("h4", {
31
+ children: "Table of Contents"
32
+ }), /*#__PURE__*/_jsx(Anchor, {
33
+ getContainer: getContainer,
34
+ items: mapItems(items),
35
+ targetOffset: headerHeight + 12
36
+ })]
37
+ });
38
+ });
39
+ export default Toc;
@@ -0,0 +1,9 @@
1
+ export declare const useStyles: (props?: {
2
+ headerHeight: number;
3
+ tocWidth: number;
4
+ } | undefined) => import("antd-style").ReturnStyles<{
5
+ container: import("antd-style").SerializedStyles;
6
+ mobileCtn: import("antd-style").SerializedStyles;
7
+ expand: string;
8
+ anchor: string;
9
+ }>;
@@ -0,0 +1,20 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
2
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
3
+ import { createStyles } from 'antd-style';
4
+ import { rgba } from 'polished';
5
+ export var useStyles = createStyles(function (_ref, _ref2) {
6
+ var token = _ref.token,
7
+ stylish = _ref.stylish,
8
+ responsive = _ref.responsive,
9
+ cx = _ref.cx,
10
+ css = _ref.css;
11
+ var tocWidth = _ref2.tocWidth,
12
+ headerHeight = _ref2.headerHeight;
13
+ var fixHeight = 36;
14
+ return {
15
+ container: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: sticky;\n top: ", "px;\n\n overscroll-behavior: contain;\n grid-area: toc;\n\n width: ", "px;\n margin-inline-end: 24px;\n\n border-radius: 3px;\n\n -webkit-overflow-scrolling: touch;\n\n ", " {\n position: relative;\n left: 0;\n width: 100%;\n margin-top: 0;\n }\n\n > h4 {\n margin: 0 0 8px;\n font-size: 12px;\n line-height: 1;\n color: ", ";\n }\n "])), headerHeight + 64, tocWidth, responsive.mobile, token.colorTextDescription),
16
+ mobileCtn: css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n width: 100%;\n height: ", "px;\n\n .ant-collapse-expand-icon {\n color: ", ";\n }\n "])), fixHeight, token.colorTextQuaternary),
17
+ expand: cx(stylish.blur, css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n width: 100%;\n\n background-color: ", ";\n border-bottom: 1px solid ", ";\n border-radius: 0;\n box-shadow: ", ";\n\n .ant-collapse-content {\n overflow: auto;\n }\n\n .ant-collapse-header {\n z-index: 10;\n padding: 8px 16px !important;\n\n &[aria-expanded='true'] {\n box-shadow: ", ";\n }\n }\n "])), rgba(token.colorBgLayout, 0.5), token.colorSplit, token.boxShadowSecondary, token.boxShadowSecondary)),
18
+ anchor: cx(stylish.blur, css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n overflow-x: hidden;\n overflow-y: auto;\n max-height: 60vh !important;\n "]))))
19
+ };
20
+ });
package/es/index.d.ts CHANGED
@@ -12,9 +12,15 @@ export { default as DraggablePanel, type DraggablePanelProps } from './Draggable
12
12
  export { default as EditableMessage, type EditableMessageProps } from './EditableMessage';
13
13
  export { default as EditableMessageList, type EditableMessageListProps, } from './EditableMessageList';
14
14
  export { default as EditableText, type EditableTextProps } from './EditableText';
15
+ export { type FeatureItem, default as Features, type FeaturesProps } from './Features';
16
+ export { default as Footer, type FooterProps } from './Footer';
17
+ export { default as GradientButton, type GradientButtonProps } from './GradientButton';
18
+ export { default as Header, type HeaderProps } from './Header';
19
+ export { default as Hero, type HeroAction, type HeroProps } from './Hero';
15
20
  export { default as Highlighter, type HighlighterProps, SyntaxHighlighter, type SyntaxHighlighterProps, } from './Highlighter';
16
21
  export { default as Icon, type IconProps, type IconSize } from './Icon';
17
22
  export { Input, type InputProps, TextArea, type TextAreaProps } from './Input';
23
+ export { default as Layout, type LayoutProps } from './Layout';
18
24
  export { default as List } from './List';
19
25
  export { default as Logo, type LogoProps } from './Logo';
20
26
  export { default as Markdown, type MarkdownProps } from './Markdown';
@@ -30,6 +36,7 @@ export { default as Swatches, type SwatchesProps } from './Swatches';
30
36
  export { default as TabsNav, type TabsNavProps } from './TabsNav';
31
37
  export { default as ThemeProvider } from './ThemeProvider';
32
38
  export { default as ThemeSwitch, type ThemeSwitchProps } from './ThemeSwitch';
39
+ export { default as Toc, type TocProps } from './Toc';
33
40
  export { default as Tooltip, type TooltipProps } from './Tooltip';
34
41
  export { type LobeCustomStylish } from './types/customStylish';
35
42
  export { type LobeCustomToken } from './types/customToken';
package/es/index.js CHANGED
@@ -11,9 +11,15 @@ export { default as DraggablePanel } from "./DraggablePanel";
11
11
  export { default as EditableMessage } from "./EditableMessage";
12
12
  export { default as EditableMessageList } from "./EditableMessageList";
13
13
  export { default as EditableText } from "./EditableText";
14
+ export { default as Features } from "./Features";
15
+ export { default as Footer } from "./Footer";
16
+ export { default as GradientButton } from "./GradientButton";
17
+ export { default as Header } from "./Header";
18
+ export { default as Hero } from "./Hero";
14
19
  export { default as Highlighter, SyntaxHighlighter } from "./Highlighter";
15
20
  export { default as Icon } from "./Icon";
16
21
  export { Input, TextArea } from "./Input";
22
+ export { default as Layout } from "./Layout";
17
23
  export { default as List } from "./List";
18
24
  export { default as Logo } from "./Logo";
19
25
  export { default as Markdown } from "./Markdown";
@@ -29,4 +35,5 @@ export { default as Swatches } from "./Swatches";
29
35
  export { default as TabsNav } from "./TabsNav";
30
36
  export { default as ThemeProvider } from "./ThemeProvider";
31
37
  export { default as ThemeSwitch } from "./ThemeSwitch";
38
+ export { default as Toc } from "./Toc";
32
39
  export { default as Tooltip } from "./Tooltip";
@@ -1,11 +1,17 @@
1
1
  import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
2
- var _templateObject, _templateObject2;
2
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
3
+ import { keyframes } from 'antd-style';
3
4
  export var generateCustomStylish = function generateCustomStylish(_ref) {
4
5
  var css = _ref.css,
5
6
  token = _ref.token,
6
7
  isDarkMode = _ref.isDarkMode;
8
+ var gradient = keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n 0% {\n background-position: 0% 50%;\n }\n 50% {\n background-position: 100% 50%;\n }\n 100% {\n background-position: 0% 50%;\n }\n "])));
7
9
  return {
8
- blur: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n backdrop-filter: saturate(180%) blur(10px);\n "]))),
9
- markdown: css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n color: ", ";\n\n h1,\n h2,\n h3,\n h4,\n h5 {\n font-weight: 600;\n }\n\n p {\n margin-block-start: 0;\n margin-block-end: 0;\n\n font-size: 14px;\n line-height: 1.8;\n color: ", ";\n text-align: justify;\n word-wrap: break-word;\n\n + * {\n margin-block-end: 0.5em;\n }\n }\n\n blockquote {\n margin: 16px 0;\n padding: 0 12px;\n\n p {\n font-style: italic;\n color: ", ";\n }\n }\n\n p:not(:last-child) {\n margin-bottom: 1em;\n }\n\n a {\n color: ", ";\n\n &:hover {\n color: ", ";\n }\n\n &:active {\n color: ", ";\n }\n }\n\n img {\n max-width: 100%;\n }\n\n pre {\n border: none;\n border-radius: ", "px;\n }\n\n > :not([data-code-type='highlighter']) code {\n padding: 2px 6px;\n\n font-size: ", "px;\n color: ", ";\n\n background: ", ";\n border: 1px solid ", ";\n border-radius: ", "px;\n }\n\n table {\n border-spacing: 0;\n\n width: 100%;\n margin-block-start: 1em;\n margin-block-end: 1em;\n margin-inline-start: 0;\n margin-inline-end: 0;\n padding: 8px;\n\n border: 1px solid ", ";\n border-radius: ", "px;\n }\n\n th,\n td {\n padding-block-start: 10px;\n padding-block-end: 10px;\n padding-inline-start: 16px;\n padding-inline-end: 16px;\n }\n\n thead {\n tr {\n th {\n background: ", ";\n\n &:first-child {\n border-top-left-radius: ", "px;\n border-bottom-left-radius: ", "px;\n }\n\n &:last-child {\n border-top-right-radius: ", "px;\n border-bottom-right-radius: ", "px;\n }\n }\n }\n }\n\n ul li {\n line-height: 1.8;\n }\n "])), isDarkMode ? token.colorTextSecondary : token.colorText, token.colorText, token.colorTextDescription, token.colorLink, token.colorLinkHover, token.colorLinkActive, token.borderRadius, token.fontSizeSM, isDarkMode ? token.cyan9A : token.cyan10A, isDarkMode ? token.cyan1A : token.cyan3A, isDarkMode ? token.cyan1A : token.cyan4A, token.borderRadiusSM, token.colorBorderSecondary, token.borderRadius, token.colorFillTertiary, token.borderRadius, token.borderRadius, token.borderRadius, token.borderRadius)
10
+ blur: css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n backdrop-filter: saturate(180%) blur(10px);\n "]))),
11
+ gradientAnimation: css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n background-image: linear-gradient(\n -45deg,\n ", ",\n ", ",\n ", ",\n ", "\n );\n background-size: 400% 400%;\n border-radius: inherit;\n animation: 5s ", " 5s ease infinite;\n "])), token.gold, token.magenta, token.geekblue, token.cyan, gradient),
12
+ noScrollbar: css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n ::-webkit-scrollbar {\n display: none;\n width: 0;\n height: 0;\n background-color: transparent;\n }\n "]))),
13
+ bottomScrollbar: css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n ::-webkit-scrollbar {\n width: 0;\n height: 4px;\n background-color: transparent;\n\n &-thumb {\n background-color: ", ";\n border-radius: 4px;\n transition: background-color 500ms ", ";\n }\n\n &-corner {\n display: none;\n width: 0;\n height: 0;\n }\n }\n "])), token.colorFill, token.motionEaseOut),
14
+ resetLinkColor: css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n cursor: pointer;\n color: ", ";\n\n &:hover {\n color: ", ";\n }\n "])), token.colorTextSecondary, token.colorText),
15
+ markdown: css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n color: ", ";\n\n h1,\n h2,\n h3,\n h4,\n h5 {\n font-weight: 600;\n }\n\n p {\n margin-block-start: 0;\n margin-block-end: 0;\n\n font-size: 14px;\n line-height: 1.8;\n color: ", ";\n text-align: justify;\n word-wrap: break-word;\n\n + * {\n margin-block-end: 0.5em;\n }\n }\n\n blockquote {\n margin: 16px 0;\n padding: 0 12px;\n\n p {\n font-style: italic;\n color: ", ";\n }\n }\n\n p:not(:last-child) {\n margin-bottom: 1em;\n }\n\n a {\n color: ", ";\n\n &:hover {\n color: ", ";\n }\n\n &:active {\n color: ", ";\n }\n }\n\n img {\n max-width: 100%;\n }\n\n pre {\n border: none;\n border-radius: ", "px;\n }\n\n > :not([data-code-type='highlighter']) code {\n padding: 2px 6px;\n\n font-size: ", "px;\n color: ", ";\n\n background: ", ";\n border: 1px solid ", ";\n border-radius: ", "px;\n }\n\n table {\n border-spacing: 0;\n\n width: 100%;\n margin-block-start: 1em;\n margin-block-end: 1em;\n margin-inline-start: 0;\n margin-inline-end: 0;\n padding: 8px;\n\n border: 1px solid ", ";\n border-radius: ", "px;\n }\n\n th,\n td {\n padding-block-start: 10px;\n padding-block-end: 10px;\n padding-inline-start: 16px;\n padding-inline-end: 16px;\n }\n\n thead {\n tr {\n th {\n background: ", ";\n\n &:first-child {\n border-top-left-radius: ", "px;\n border-bottom-left-radius: ", "px;\n }\n\n &:last-child {\n border-top-right-radius: ", "px;\n border-bottom-right-radius: ", "px;\n }\n }\n }\n }\n\n li {\n line-height: 1.8;\n\n &::marker {\n color: ", ";\n }\n }\n\n details {\n margin-bottom: 1em;\n padding: 12px 16px;\n\n background: ", ";\n border: 1px solid ", ";\n border-radius: ", "px;\n\n transition: all 400ms ", ";\n }\n\n details[open] {\n summary {\n padding-bottom: 12px;\n border-bottom: 1px solid ", ";\n }\n }\n "])), isDarkMode ? token.colorTextSecondary : token.colorText, token.colorText, token.colorTextDescription, token.colorLink, token.colorLinkHover, token.colorLinkActive, token.borderRadius, token.fontSizeSM, isDarkMode ? token.cyan9A : token.cyan10A, isDarkMode ? token.cyan1A : token.cyan3A, isDarkMode ? token.cyan1A : token.cyan4A, token.borderRadiusSM, token.colorBorderSecondary, token.borderRadius, token.colorFillTertiary, token.borderRadius, token.borderRadius, token.borderRadius, token.borderRadius, isDarkMode ? token.cyan9A : token.cyan10A, token.colorFillTertiary, token.colorBorderSecondary, token.borderRadiusLG, token.motionEaseOut, token.colorBorder)
10
16
  };
11
17
  };
@@ -1,4 +1,8 @@
1
1
  export interface LobeCustomStylish {
2
2
  blur: string;
3
+ bottomScrollbar: string;
4
+ gradientAnimation: string;
3
5
  markdown: string;
6
+ noScrollbar: string;
7
+ resetLinkColor: string;
4
8
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobehub/ui",
3
- "version": "1.23.0",
3
+ "version": "1.25.2",
4
4
  "description": "Lobe UI is an open-source UI component library for building chatbot web apps",
5
5
  "keywords": [
6
6
  "lobehub",
@@ -70,14 +70,19 @@
70
70
  ]
71
71
  },
72
72
  "dependencies": {
73
+ "@ant-design/colors": "^7",
73
74
  "@ant-design/icons": "^5",
74
75
  "@babel/runtime": "^7",
75
76
  "@dqbd/tiktoken": "^1",
76
77
  "@floating-ui/react": "^0",
78
+ "@react-spring/web": "^9",
77
79
  "ahooks": "^3",
80
+ "antd": "^5",
81
+ "antd-style": "^3",
78
82
  "chroma-js": "^2",
79
83
  "copy-to-clipboard": "^3",
80
84
  "dayjs": "^1",
85
+ "dumi": "^2",
81
86
  "fast-deep-equal": "^3",
82
87
  "immer": "^10",
83
88
  "leva": "^0",
@@ -86,6 +91,7 @@
86
91
  "pangu": "^4",
87
92
  "polished": "^4",
88
93
  "prism-react-renderer": "^2",
94
+ "rc-footer": "^0",
89
95
  "re-resizable": "^6",
90
96
  "react-font-loader": "^2",
91
97
  "react-layout-kit": "^1",
@@ -100,23 +106,18 @@
100
106
  "zustand-utils": "^1"
101
107
  },
102
108
  "devDependencies": {
103
- "@ant-design/colors": "^7",
104
109
  "@commitlint/cli": "^17",
105
110
  "@lobehub/lint": "latest",
106
- "@react-spring/web": "^9",
107
111
  "@testing-library/react": "^14",
108
112
  "@types/chroma-js": "^2",
109
113
  "@types/lodash-es": "^4",
110
114
  "@types/pangu": "^4",
111
115
  "@types/react": "^18",
112
116
  "@types/react-dom": "^18",
113
- "@vitest/coverage-c8": "latest",
114
- "antd": "^5",
115
- "antd-style": "^3",
117
+ "@vitest/coverage-v8": "latest",
116
118
  "commitlint": "^17",
117
119
  "concurrently": "^8",
118
120
  "cross-env": "^7",
119
- "dumi": "^2",
120
121
  "dumi-assets-types": "^1",
121
122
  "dumi-theme-lobehub": "workspace:latest",
122
123
  "eslint": "^8",
@@ -137,6 +138,7 @@
137
138
  "peerDependencies": {
138
139
  "antd": ">=5",
139
140
  "antd-style": ">=3",
141
+ "dumi": ">=2",
140
142
  "react": ">=18",
141
143
  "react-dom": ">=18"
142
144
  },