@tsingroc/tsingroc-components 2.2.0 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Sidebar.d.ts +63 -0
- package/dist/components/Sidebar.js +90 -0
- package/dist/components/Sidebar.js.map +1 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/package.json +6 -6
- package/dist/components/TmsSidebar.d.ts +0 -46
- package/dist/components/TmsSidebar.js +0 -63
- package/dist/components/TmsSidebar.js.map +0 -1
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { type MenuProps } from "antd";
|
|
2
|
+
import { type ReactNode } from "react";
|
|
3
|
+
export type MenuItem = Required<MenuProps>["items"][number];
|
|
4
|
+
export interface SidebarProps extends MenuProps {
|
|
5
|
+
/**
|
|
6
|
+
* 侧边栏的宽度。
|
|
7
|
+
* @default 260
|
|
8
|
+
*/
|
|
9
|
+
width?: number | string;
|
|
10
|
+
/**
|
|
11
|
+
* 是否启用伸缩功能。
|
|
12
|
+
* @default false
|
|
13
|
+
*/
|
|
14
|
+
collapsible?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* 网站 Logo 的 URL。
|
|
17
|
+
*
|
|
18
|
+
* 建议导入图片,然后将导入得到的地址填入 `logo`,而不要硬编码地址。
|
|
19
|
+
*/
|
|
20
|
+
logo?: string;
|
|
21
|
+
/** 侧边栏的标题。*/
|
|
22
|
+
title?: string;
|
|
23
|
+
/**
|
|
24
|
+
* 侧边栏头部(logo 和标题部分)的高度。
|
|
25
|
+
* @default 98
|
|
26
|
+
*/
|
|
27
|
+
headerHeight?: number | string;
|
|
28
|
+
/**
|
|
29
|
+
* 侧边栏的头部(logo 和标题部分)。这个属性将替换掉 `logo`、`title` 和 `headerHeight`。
|
|
30
|
+
* 参数 `collapsed` 表示侧边栏是否收起。
|
|
31
|
+
*/
|
|
32
|
+
header?: (collapsed: boolean) => ReactNode;
|
|
33
|
+
/**
|
|
34
|
+
* 菜单项配置,默认与 TMS 系统的菜单相同。
|
|
35
|
+
*
|
|
36
|
+
* 该属性以及其余属性的用法可参考 [`Menu` 组件的文档][1]。
|
|
37
|
+
*
|
|
38
|
+
* [1]: https://ant-design.antgroup.com/components/menu-cn
|
|
39
|
+
*/
|
|
40
|
+
items?: MenuItem[];
|
|
41
|
+
/** 当前选中的菜单项 key 数组。 */
|
|
42
|
+
selectedKeys?: string[];
|
|
43
|
+
/** 当前展开的子菜单 key 数组。 */
|
|
44
|
+
openKeys?: string[];
|
|
45
|
+
/** 菜单项被选中时的回调函数。 */
|
|
46
|
+
onSelect?: MenuProps["onSelect"];
|
|
47
|
+
/** 子菜单展开/收起时的回调函数。 */
|
|
48
|
+
onOpenChange?: MenuProps["onOpenChange"];
|
|
49
|
+
/** 侧边栏底部的额外内容。参数 `collapsed` 表示侧边栏是否收起。*/
|
|
50
|
+
footer?: (collapsed: boolean) => ReactNode;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* 出自 TMS 系统的侧边栏组件。该组件需要放置在 [Ant Design 的 `Layout` 组件][1]内部才能正常工作。
|
|
54
|
+
*
|
|
55
|
+
* 一般来说,使用该组件时至少需要提供 `logo`、`items` 和 `onSelect` 三个属性,具体用法请参照范例。
|
|
56
|
+
*
|
|
57
|
+
* 除了文档中列出的属性之外,该组件会把额外的属性全部传递给内部的菜单 [`Menu` 组件][2]。
|
|
58
|
+
*
|
|
59
|
+
* [1]: https://ant-design.antgroup.com/components/layout-cn
|
|
60
|
+
* [2]: https://ant-design.antgroup.com/components/menu-cn
|
|
61
|
+
*/
|
|
62
|
+
declare function Sidebar(props: SidebarProps): import("react/jsx-runtime").JSX.Element;
|
|
63
|
+
export default Sidebar;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { BarChartOutlined, LeftOutlined, RightOutlined, SwapOutlined, TeamOutlined, } from "@ant-design/icons";
|
|
3
|
+
import { Button, Flex, Layout, Menu } from "antd";
|
|
4
|
+
import { useState } from "react";
|
|
5
|
+
import { createStyles } from "antd-style";
|
|
6
|
+
const { Sider } = Layout;
|
|
7
|
+
const menuItem = (label, key, icon, children) => ({ key, icon, children, label });
|
|
8
|
+
/** 默认菜单项配置,可以作为参考或默认值 */
|
|
9
|
+
const DEFAULT_MENU_ITEMS = [
|
|
10
|
+
menuItem("数据看板", "data-board", _jsx(BarChartOutlined, {}), [
|
|
11
|
+
menuItem("宏观数据", "macro-data"),
|
|
12
|
+
menuItem("合约看板", "contract-overview"),
|
|
13
|
+
menuItem("数据复盘", "data-review"),
|
|
14
|
+
]),
|
|
15
|
+
menuItem("交易管理", "trade-management", _jsx(SwapOutlined, {}), [
|
|
16
|
+
menuItem("日前交易", "day-ahead-trade"),
|
|
17
|
+
menuItem("现货交易", "spot-trade"),
|
|
18
|
+
menuItem("中长期交易", "long-term-trade"),
|
|
19
|
+
]),
|
|
20
|
+
menuItem("合约管理", "customer-management", _jsx(TeamOutlined, {}), [
|
|
21
|
+
menuItem("客户总览", "customer-overview"),
|
|
22
|
+
menuItem("售电合约管理", "sales-contract"),
|
|
23
|
+
menuItem("供应商管理", "supplier-management"),
|
|
24
|
+
menuItem("购电合约管理", "purchase-contract"),
|
|
25
|
+
]),
|
|
26
|
+
];
|
|
27
|
+
const useStyles = createStyles(({ token, css, cx, prefixCls }) => {
|
|
28
|
+
const sidebarMenu = css `
|
|
29
|
+
flex-basis: 100%;
|
|
30
|
+
overflow-y: auto;
|
|
31
|
+
`;
|
|
32
|
+
const sidebarBtn = css `
|
|
33
|
+
position: absolute;
|
|
34
|
+
top: 75%;
|
|
35
|
+
right: 0;
|
|
36
|
+
transform: translate(50%, -50%);
|
|
37
|
+
|
|
38
|
+
font-size: ${token.sizeSM}px;
|
|
39
|
+
|
|
40
|
+
transition: opacity ${token.motionDurationMid};
|
|
41
|
+
opacity: 0%;
|
|
42
|
+
`;
|
|
43
|
+
const sidebar = css `
|
|
44
|
+
position: relative;
|
|
45
|
+
box-shadow: rgba(0, 0, 0, 0.15) 0 2px 8px;
|
|
46
|
+
|
|
47
|
+
& .${prefixCls}-layout-sider-children {
|
|
48
|
+
display: flex;
|
|
49
|
+
flex-direction: column;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/* 为了提高权重 */
|
|
53
|
+
& .${cx(sidebarBtn)} {
|
|
54
|
+
width: ${token.controlHeightXS}px;
|
|
55
|
+
}
|
|
56
|
+
& .${cx(sidebarMenu)}.${cx(sidebarMenu)} {
|
|
57
|
+
border-inline-end: none;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
&:hover .${cx(sidebarBtn)} {
|
|
61
|
+
opacity: 100%;
|
|
62
|
+
}
|
|
63
|
+
`;
|
|
64
|
+
return {
|
|
65
|
+
sidebar,
|
|
66
|
+
sidebarMenu,
|
|
67
|
+
sidebarBtn,
|
|
68
|
+
};
|
|
69
|
+
});
|
|
70
|
+
/**
|
|
71
|
+
* 出自 TMS 系统的侧边栏组件。该组件需要放置在 [Ant Design 的 `Layout` 组件][1]内部才能正常工作。
|
|
72
|
+
*
|
|
73
|
+
* 一般来说,使用该组件时至少需要提供 `logo`、`items` 和 `onSelect` 三个属性,具体用法请参照范例。
|
|
74
|
+
*
|
|
75
|
+
* 除了文档中列出的属性之外,该组件会把额外的属性全部传递给内部的菜单 [`Menu` 组件][2]。
|
|
76
|
+
*
|
|
77
|
+
* [1]: https://ant-design.antgroup.com/components/layout-cn
|
|
78
|
+
* [2]: https://ant-design.antgroup.com/components/menu-cn
|
|
79
|
+
*/
|
|
80
|
+
function Sidebar(props) {
|
|
81
|
+
const { width = 260, collapsible = false, logo, title, headerHeight = 98, header, items = DEFAULT_MENU_ITEMS, selectedKeys, openKeys, onSelect, onOpenChange, footer, ...rest } = props;
|
|
82
|
+
const { cx, styles, theme } = useStyles();
|
|
83
|
+
const [collapsed, setCollapsed] = useState(false);
|
|
84
|
+
return (_jsxs(Sider, { theme: "light", width: width, collapsed: collapsible ? collapsed : false, collapsible: collapsible, trigger: null, className: cx(styles.sidebar), children: [header ? (header(collapsed)) : (_jsxs(Flex, { vertical: true, align: "center", justify: "center", style: { height: headerHeight }, children: [_jsx("img", { alt: "logo", src: logo, style: { width: "40%" } }), _jsx("h1", { style: {
|
|
85
|
+
fontSize: collapsed ? theme.fontSizeSM : theme.fontSize,
|
|
86
|
+
transition: `font-size ${theme.motionDurationMid}`,
|
|
87
|
+
}, children: title })] })), _jsx(Menu, { mode: "inline", selectedKeys: selectedKeys, openKeys: openKeys, onSelect: onSelect, onOpenChange: onOpenChange, items: items, inlineCollapsed: collapsible ? collapsed : false, className: cx(styles.sidebarMenu, rest.className), ...rest }), footer?.(collapsed), collapsible && (_jsx(Button, { className: cx(styles.sidebarBtn), icon: collapsed ? _jsx(RightOutlined, {}) : _jsx(LeftOutlined, {}), onClick: () => setCollapsed(!collapsed) }))] }));
|
|
88
|
+
}
|
|
89
|
+
export default Sidebar;
|
|
90
|
+
//# sourceMappingURL=Sidebar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../src/components/Sidebar.tsx"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,5 +4,9 @@ export { default as CircularProgress, type CircularProgressProps, } from "./comp
|
|
|
4
4
|
export { default as ImageBackground, type ImageBackgroundProps, } from "./components/ImageBackground";
|
|
5
5
|
export { default as QuickDateRangePicker, type QuickDateRangePickerProps, } from "./components/QuickDateRangePicker";
|
|
6
6
|
export { default as SegmentedButtons, TimeUnitSwitcher, type TimeUnitSwitcherProps, } from "./components/SegmentedButtons";
|
|
7
|
-
export { default as
|
|
7
|
+
export { default as Sidebar,
|
|
8
|
+
/** @deprecated 该名称已弃用,请改为导入 `Sidebar`。*/
|
|
9
|
+
default as TmsSidebar, type SidebarProps,
|
|
10
|
+
/** @deprecated 该名称已弃用,请改为导入 `SidebarProps`。*/
|
|
11
|
+
type SidebarProps as TmsSidebarProps, } from "./components/Sidebar";
|
|
8
12
|
export { default as TsingrocDatePicker, type DatePickerProps, } from "./components/TsingrocDatePicker";
|
package/dist/index.js
CHANGED
|
@@ -4,6 +4,8 @@ export { default as CircularProgress, } from "./components/CircularProgress";
|
|
|
4
4
|
export { default as ImageBackground, } from "./components/ImageBackground";
|
|
5
5
|
export { default as QuickDateRangePicker, } from "./components/QuickDateRangePicker";
|
|
6
6
|
export { default as SegmentedButtons, TimeUnitSwitcher, } from "./components/SegmentedButtons";
|
|
7
|
-
export { default as
|
|
7
|
+
export { default as Sidebar,
|
|
8
|
+
/** @deprecated 该名称已弃用,请改为导入 `Sidebar`。*/
|
|
9
|
+
default as TmsSidebar, } from "./components/Sidebar";
|
|
8
10
|
export { default as TsingrocDatePicker, } from "./components/TsingrocDatePicker";
|
|
9
11
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,WAAW,EACX,YAAY,EAEZ,YAAY,GAEb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAsB,MAAM,uBAAuB,CAAC;AAEhF,OAAO,EACL,OAAO,IAAI,gBAAgB,GAE5B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,OAAO,IAAI,eAAe,GAE3B,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,OAAO,IAAI,oBAAoB,GAEhC,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,OAAO,IAAI,gBAAgB,EAC3B,gBAAgB,GAEjB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,OAAO,IAAI,UAAU,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,WAAW,EACX,YAAY,EAEZ,YAAY,GAEb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAsB,MAAM,uBAAuB,CAAC;AAEhF,OAAO,EACL,OAAO,IAAI,gBAAgB,GAE5B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,OAAO,IAAI,eAAe,GAE3B,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,OAAO,IAAI,oBAAoB,GAEhC,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,OAAO,IAAI,gBAAgB,EAC3B,gBAAgB,GAEjB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,OAAO,IAAI,OAAO;AAClB,yCAAyC;AACzC,OAAO,IAAI,UAAU,GAItB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,OAAO,IAAI,kBAAkB,GAE9B,MAAM,iCAAiC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tsingroc/tsingroc-components",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.4.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"license": "ISC",
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"@ant-design/icons": "^5.6.1",
|
|
29
|
-
"antd": "^5.24.
|
|
29
|
+
"antd": "^5.24.7",
|
|
30
30
|
"antd-style": "^3.7.1",
|
|
31
31
|
"casdoor-js-sdk": "^0.16.0",
|
|
32
32
|
"dayjs": "^1.11.13",
|
|
@@ -38,10 +38,10 @@
|
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@eslint/js": "^9.21.0",
|
|
41
|
-
"@rsbuild/core": "^1.3.
|
|
42
|
-
"@rsbuild/plugin-react": "^1.
|
|
41
|
+
"@rsbuild/core": "^1.3.7",
|
|
42
|
+
"@rsbuild/plugin-react": "^1.2.0",
|
|
43
43
|
"@rspress/plugin-preview": "^2.0.0-alpha.0",
|
|
44
|
-
"@types/node": "^22.14.
|
|
44
|
+
"@types/node": "^22.14.1",
|
|
45
45
|
"@types/react": "^18.3.20",
|
|
46
46
|
"@types/react-dom": "^18.3.6",
|
|
47
47
|
"echarts-for-react": "^3.0.2",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"rspress": "^2.0.0-alpha.8",
|
|
55
55
|
"typedoc": "^0.28.2",
|
|
56
56
|
"typescript": "^5.8.3",
|
|
57
|
-
"typescript-eslint": "^8.
|
|
57
|
+
"typescript-eslint": "^8.30.1"
|
|
58
58
|
},
|
|
59
59
|
"directories": {
|
|
60
60
|
"example": "example",
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import type { MenuProps } from "antd";
|
|
2
|
-
export type MenuItem = Required<MenuProps>["items"][number];
|
|
3
|
-
/**
|
|
4
|
-
* TmsSidebar组件的属性接口
|
|
5
|
-
*/
|
|
6
|
-
export interface TmsSidebarProps extends MenuProps {
|
|
7
|
-
/**
|
|
8
|
-
* 侧边栏宽度。
|
|
9
|
-
* @default 260
|
|
10
|
-
*/
|
|
11
|
-
width?: number | string;
|
|
12
|
-
/**
|
|
13
|
-
* 网站 Logo 的 URL。
|
|
14
|
-
*
|
|
15
|
-
* 建议导入图片,然后将导入得到的地址填入 `logo`,而不要硬编码地址。
|
|
16
|
-
*/
|
|
17
|
-
logo?: string;
|
|
18
|
-
/**
|
|
19
|
-
* 菜单项配置,默认与 TMS 系统的菜单相同。
|
|
20
|
-
*
|
|
21
|
-
* 该属性以及其余属性的用法可参考 [`Menu` 组件的文档][1]。
|
|
22
|
-
*
|
|
23
|
-
* [1]: https://ant-design.antgroup.com/components/menu-cn
|
|
24
|
-
*/
|
|
25
|
-
items?: MenuItem[];
|
|
26
|
-
/** 当前选中的菜单项 key 数组。 */
|
|
27
|
-
selectedKeys?: string[];
|
|
28
|
-
/** 当前展开的子菜单 key 数组。 */
|
|
29
|
-
openKeys?: string[];
|
|
30
|
-
/** 菜单项被选中时的回调函数。 */
|
|
31
|
-
onSelect?: MenuProps["onSelect"];
|
|
32
|
-
/** 子菜单展开/收起时的回调函数。 */
|
|
33
|
-
onOpenChange?: MenuProps["onOpenChange"];
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* TMS 系统的侧边栏组件。该组件需要放置在 [Ant Design 的 `Layout` 组件][1]内部才能正常工作。
|
|
37
|
-
*
|
|
38
|
-
* 除了文档中列出的属性之外,该组件会把额外的属性全部传递给内部的菜单 [`Menu` 组件][2]。
|
|
39
|
-
*
|
|
40
|
-
* 该组件不支持暗色模式。
|
|
41
|
-
*
|
|
42
|
-
* [1]: https://ant-design.antgroup.com/components/layout-cn
|
|
43
|
-
* [2]: https://ant-design.antgroup.com/components/menu-cn
|
|
44
|
-
*/
|
|
45
|
-
declare function TmsSidebar(props: TmsSidebarProps): import("react/jsx-runtime").JSX.Element;
|
|
46
|
-
export default TmsSidebar;
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { BarChartOutlined, SwapOutlined, TeamOutlined, } from "@ant-design/icons";
|
|
3
|
-
import { ConfigProvider, Layout, Menu } from "antd";
|
|
4
|
-
const { Sider } = Layout;
|
|
5
|
-
const menuItem = (label, key, icon, children) => ({ key, icon, children, label });
|
|
6
|
-
/** 默认菜单项配置,可以作为参考或默认值 */
|
|
7
|
-
const DEFAULT_MENU_ITEMS = [
|
|
8
|
-
menuItem("数据看板", "data-board", _jsx(BarChartOutlined, {}), [
|
|
9
|
-
menuItem("宏观数据", "macro-data"),
|
|
10
|
-
menuItem("合约看板", "contract-overview"),
|
|
11
|
-
menuItem("数据复盘", "data-review"),
|
|
12
|
-
]),
|
|
13
|
-
menuItem("交易管理", "trade-management", _jsx(SwapOutlined, {}), [
|
|
14
|
-
menuItem("日前交易", "day-ahead-trade"),
|
|
15
|
-
menuItem("现货交易", "spot-trade"),
|
|
16
|
-
menuItem("中长期交易", "long-term-trade"),
|
|
17
|
-
]),
|
|
18
|
-
menuItem("合约管理", "customer-management", _jsx(TeamOutlined, {}), [
|
|
19
|
-
menuItem("客户总览", "customer-overview"),
|
|
20
|
-
menuItem("售电合约管理", "sales-contract"),
|
|
21
|
-
menuItem("供应商管理", "supplier-management"),
|
|
22
|
-
menuItem("购电合约管理", "purchase-contract"),
|
|
23
|
-
]),
|
|
24
|
-
];
|
|
25
|
-
/**
|
|
26
|
-
* TMS 系统的侧边栏组件。该组件需要放置在 [Ant Design 的 `Layout` 组件][1]内部才能正常工作。
|
|
27
|
-
*
|
|
28
|
-
* 除了文档中列出的属性之外,该组件会把额外的属性全部传递给内部的菜单 [`Menu` 组件][2]。
|
|
29
|
-
*
|
|
30
|
-
* 该组件不支持暗色模式。
|
|
31
|
-
*
|
|
32
|
-
* [1]: https://ant-design.antgroup.com/components/layout-cn
|
|
33
|
-
* [2]: https://ant-design.antgroup.com/components/menu-cn
|
|
34
|
-
*/
|
|
35
|
-
function TmsSidebar(props) {
|
|
36
|
-
const { width = 260, logo, items = DEFAULT_MENU_ITEMS, selectedKeys, openKeys, onSelect, onOpenChange, ...rest } = props;
|
|
37
|
-
return (_jsxs(Sider, { theme: "light", width: width, style: {
|
|
38
|
-
boxShadow: "0 2px 8px rgba(0, 0, 0, 0.15)",
|
|
39
|
-
overflowY: "auto",
|
|
40
|
-
}, children: [_jsx("div", { style: {
|
|
41
|
-
height: "98px",
|
|
42
|
-
padding: "28px 78px",
|
|
43
|
-
display: "flex",
|
|
44
|
-
alignItems: "center",
|
|
45
|
-
justifyContent: "center",
|
|
46
|
-
transition: "all 0.3s",
|
|
47
|
-
}, children: _jsx("img", { alt: "logo", src: logo, style: {
|
|
48
|
-
width: "100%",
|
|
49
|
-
height: "100%",
|
|
50
|
-
objectFit: "contain",
|
|
51
|
-
} }) }), _jsx(ConfigProvider, { theme: {
|
|
52
|
-
components: {
|
|
53
|
-
Menu: {
|
|
54
|
-
itemMarginBlock: 0,
|
|
55
|
-
itemMarginInline: 0,
|
|
56
|
-
itemSelectedColor: "#1890FF",
|
|
57
|
-
itemSelectedBg: "#F0F7FF",
|
|
58
|
-
},
|
|
59
|
-
},
|
|
60
|
-
}, children: _jsx(Menu, { mode: "inline", style: { borderRight: 0 }, selectedKeys: selectedKeys, openKeys: openKeys, onSelect: onSelect, onOpenChange: onOpenChange, items: items, ...rest }) })] }));
|
|
61
|
-
}
|
|
62
|
-
export default TmsSidebar;
|
|
63
|
-
//# sourceMappingURL=TmsSidebar.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TmsSidebar.js","sourceRoot":"","sources":["../../src/components/TmsSidebar.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,YAAY,GACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAIpD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;AAIzB,MAAM,QAAQ,GAAG,CACf,KAAsB,EACtB,GAAc,EACd,IAAsB,EACtB,QAAqB,EACX,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AAEhD,yBAAyB;AACzB,MAAM,kBAAkB,GAAe;IACrC,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,KAAC,gBAAgB,KAAG,EAAE;QACnD,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;QAC9B,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;QACrC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;KAChC,CAAC;IACF,QAAQ,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAC,YAAY,KAAG,EAAE;QACrD,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;QACnC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;QAC9B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;KACrC,CAAC;IACF,QAAQ,CAAC,MAAM,EAAE,qBAAqB,EAAE,KAAC,YAAY,KAAG,EAAE;QACxD,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;QACrC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;QACpC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;QACxC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;KACxC,CAAC;CACH,CAAC;AAmCF;;;;;;;;;GASG;AACH,SAAS,UAAU,CAAC,KAAsB;IACxC,MAAM,EACJ,KAAK,GAAG,GAAG,EACX,IAAI,EACJ,KAAK,GAAG,kBAAkB,EAC1B,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IACV,OAAO,CACL,MAAC,KAAK,IACJ,KAAK,EAAC,OAAO,EACb,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE;YACL,SAAS,EAAE,+BAA+B;YAC1C,SAAS,EAAE,MAAM;SAClB,aAED,cACE,KAAK,EAAE;oBACL,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,WAAW;oBACpB,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,QAAQ;oBACpB,cAAc,EAAE,QAAQ;oBACxB,UAAU,EAAE,UAAU;iBACvB,YAED,cACE,GAAG,EAAC,MAAM,EACV,GAAG,EAAE,IAAI,EACT,KAAK,EAAE;wBACL,KAAK,EAAE,MAAM;wBACb,MAAM,EAAE,MAAM;wBACd,SAAS,EAAE,SAAS;qBACrB,GACD,GACE,EACN,KAAC,cAAc,IACb,KAAK,EAAE;oBACL,UAAU,EAAE;wBACV,IAAI,EAAE;4BACJ,eAAe,EAAE,CAAC;4BAClB,gBAAgB,EAAE,CAAC;4BACnB,iBAAiB,EAAE,SAAS;4BAC5B,cAAc,EAAE,SAAS;yBAC1B;qBACF;iBACF,YAED,KAAC,IAAI,IACH,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EACzB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,KAAK,KACR,IAAI,GACR,GACa,IACX,CACT,CAAC;AACJ,CAAC;AAED,eAAe,UAAU,CAAC"}
|