@tsingroc/tsingroc-components 2.0.1 → 2.1.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.
@@ -0,0 +1,46 @@
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;
@@ -0,0 +1,63 @@
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
@@ -0,0 +1 @@
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"}
package/dist/index.d.ts CHANGED
@@ -4,5 +4,6 @@ import ImageBackground, { type ImageBackgroundProps } from "./components/ImageBa
4
4
  export { ImageBackground, type ImageBackgroundProps };
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 TmsSidebar, type TmsSidebarProps, } from "./components/TmsSidebar";
7
8
  import TsingrocDatePicker, { type DatePickerProps } from "./components/TsingrocDatePicker";
8
9
  export { TsingrocDatePicker, type DatePickerProps };
package/dist/index.js CHANGED
@@ -4,6 +4,7 @@ import ImageBackground, {} from "./components/ImageBackground";
4
4
  export { ImageBackground };
5
5
  export { default as QuickDateRangePicker, } from "./components/QuickDateRangePicker";
6
6
  export { default as SegmentedButtons, TimeUnitSwitcher, } from "./components/SegmentedButtons";
7
+ export { default as TmsSidebar, } from "./components/TmsSidebar";
7
8
  import TsingrocDatePicker, {} from "./components/TsingrocDatePicker";
8
9
  export { TsingrocDatePicker };
9
10
  //# 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,EAAE,OAAO,IAAI,QAAQ,EAAsB,MAAM,uBAAuB,CAAC;AAEhF,OAAO,EACL,OAAO,IAAI,gBAAgB,GAE5B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,eAAe,EAAE,EAEvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAA6B,CAAC;AAEtD,OAAO,EACL,OAAO,IAAI,oBAAoB,GAEhC,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,OAAO,IAAI,gBAAgB,EAC3B,gBAAgB,GAEjB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,kBAAkB,EAAE,EAE1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAsB,MAAM,uBAAuB,CAAC;AAEhF,OAAO,EACL,OAAO,IAAI,gBAAgB,GAE5B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,eAAe,EAAE,EAEvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAA6B,CAAC;AAEtD,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,GAEtB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,kBAAkB,EAAE,EAE1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAwB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsingroc/tsingroc-components",
3
- "version": "2.0.1",
3
+ "version": "2.1.0",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",