@tsingroc/tsingroc-components 3.3.0 → 3.5.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.
@@ -123,6 +123,11 @@ export interface Auth extends User {
123
123
  * 你也可以在登出后手动加一行跳转操作,比如使用 React Router 的 `navigate`。
124
124
  */
125
125
  logout(redirect?: string): void;
126
+ /**
127
+ * 以当前用户的 access token 作为 bearer token 发起请求。
128
+ * 用法与正常的 {@linkcode fetch} 完全一致。未登录时,返回的 Promise 会立即失败。
129
+ */
130
+ fetchWithAuth(resource: RequestInfo | URL, options?: RequestInit): Promise<Response>;
126
131
  }
127
132
  /**
128
133
  * 获取登录鉴权相关的工具函数和全局状态。必须在 {@linkcode AuthProvider} 内部才能使用。
@@ -42,54 +42,70 @@ export function AuthProvider(props) {
42
42
  };
43
43
  }
44
44
  });
45
- const auth = useMemo(() => ({
46
- sdk: new Sdk(props.sdkConfig),
47
- login(redirect) {
48
- location.href = this.sdk.getSigninUrl();
49
- if (redirect) {
50
- sessionStorage.setItem("login_redirect", redirect);
51
- }
52
- },
53
- async callback() {
54
- // sdk 的类型声明有误
55
- const resp = (await this.sdk.signin(props.signinOrigin ?? location.origin, props.signinPath));
56
- const token = resp.token;
57
- if (!token) {
58
- throw new Error("登录 API 返回了异常的结果:" + JSON.stringify(resp));
59
- }
60
- localStorage.setItem("access_token", token);
61
- setUser({
62
- accessToken: token,
63
- get decodedAccessToken() {
64
- return jwtDecode(token);
65
- },
66
- });
67
- },
68
- async validate() {
69
- const token = user.accessToken;
70
- if (!token) {
71
- throw new Error("未登录!");
72
- }
73
- // sdk 的类型声明有误
74
- const resp = (await this.sdk.getUserInfo(token));
75
- if ("status" in resp) {
45
+ const auth = useMemo(() => {
46
+ const sdk = new Sdk(props.sdkConfig);
47
+ return {
48
+ sdk,
49
+ login(redirect) {
50
+ location.href = sdk.getSigninUrl();
51
+ if (redirect) {
52
+ sessionStorage.setItem("login_redirect", redirect);
53
+ }
54
+ },
55
+ async callback() {
56
+ // sdk 的类型声明有误
57
+ const resp = (await sdk.signin(props.signinOrigin ?? location.origin, props.signinPath));
58
+ const token = resp.token;
59
+ if (!token) {
60
+ throw new Error("登录 API 返回了异常的结果:" + JSON.stringify(resp));
61
+ }
62
+ localStorage.setItem("access_token", token);
63
+ setUser({
64
+ accessToken: token,
65
+ get decodedAccessToken() {
66
+ return jwtDecode(token);
67
+ },
68
+ });
69
+ },
70
+ async validate() {
71
+ const token = user.accessToken;
72
+ if (!token) {
73
+ throw new Error("未登录!");
74
+ }
75
+ // sdk 的类型声明有误
76
+ const resp = (await sdk.getUserInfo(token));
77
+ if ("status" in resp) {
78
+ localStorage.removeItem("access_token");
79
+ setUser({});
80
+ throw new Error("登陆状态无效!");
81
+ }
82
+ else {
83
+ setUser({ ...user, userInfo: resp });
84
+ }
85
+ },
86
+ logout(redirect) {
76
87
  localStorage.removeItem("access_token");
77
88
  setUser({});
78
- throw new Error("登陆状态无效!");
79
- }
80
- else {
81
- setUser({ ...user, userInfo: resp });
82
- }
83
- },
84
- logout(redirect) {
85
- localStorage.removeItem("access_token");
86
- setUser({});
87
- if (redirect) {
88
- location.href = redirect;
89
- }
90
- },
91
- ...user,
92
- }), [props.sdkConfig, props.signinOrigin, props.signinPath, user]);
89
+ if (redirect) {
90
+ location.href = redirect;
91
+ }
92
+ },
93
+ async fetchWithAuth(resource, options) {
94
+ const token = user.accessToken;
95
+ if (!token) {
96
+ throw new Error("未登录时无法使用 fetchWithAuth");
97
+ }
98
+ return await fetch(resource, {
99
+ ...options,
100
+ headers: {
101
+ Authorization: `Bearer ${token}`,
102
+ ...options?.headers,
103
+ },
104
+ });
105
+ },
106
+ ...user,
107
+ };
108
+ }, [props.sdkConfig, props.signinOrigin, props.signinPath, user]);
93
109
  return (_jsx(AuthContext.Provider, { value: auth, children: props.children }));
94
110
  }
95
111
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Auth.js","sourceRoot":"","sources":["../../src/components/Auth.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Auth.js","sourceRoot":"","sources":["../../src/components/Auth.tsx"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@ export interface HeaderProps extends MenuProps {
20
20
  * {@linkcode HeaderProps.logo | logo}、
21
21
  * {@linkcode HeaderProps.title | title} 和
22
22
  * {@linkcode HeaderProps.leftEndWidth | leftEndWidth} 将失去作用。
23
+ * 填 `null` 可以隐藏掉默认值(与 `undefined` 不同!)。
23
24
  */
24
25
  leftEnd?: ReactNode;
25
26
  /**
@@ -40,6 +41,7 @@ export interface HeaderProps extends MenuProps {
40
41
  onOpenChange?: MenuProps["onOpenChange"];
41
42
  /**
42
43
  * 顶栏右端的额外内容。默认使用 {@linkcode UserButton} 组件。
44
+ * 填 `null` 可以隐藏掉默认值(与 `undefined` 不同!)。
43
45
  * @default <UserButton layout="header" />
44
46
  */
45
47
  rightEnd?: ReactNode;
@@ -26,7 +26,7 @@ function Header(props) {
26
26
  padding: 0,
27
27
  color: token.colorText,
28
28
  ...style,
29
- }, children: [leftEnd ?? (_jsxs(Flex, { align: "center", gap: token.marginSM, style: {
29
+ }, children: [leftEnd !== undefined ? (leftEnd) : (_jsxs(Flex, { align: "center", gap: token.marginSM, style: {
30
30
  minWidth: leftEndWidth,
31
31
  height: "100%",
32
32
  paddingInlineStart: token.paddingLG + token.paddingXXS,
@@ -35,7 +35,7 @@ function Header(props) {
35
35
  flexBasis: "100%",
36
36
  height: "100%",
37
37
  borderBlockEnd: "none",
38
- } }), rightEnd ?? _jsx(UserButton, { layout: "header" })] }));
38
+ } }), rightEnd !== undefined ? rightEnd : _jsx(UserButton, { layout: "header" })] }));
39
39
  }
40
40
  export default Header;
41
41
  //# sourceMappingURL=Header.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../src/components/Header.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAkB,KAAK,EAAE,MAAM,MAAM,CAAC;AAEjE,OAAO,UAAU,MAAM,cAAc,CAAC;AAoDtC;;;;;;;;;;;;GAYG;AACH,SAAS,MAAM,CAAC,KAAkB;IAChC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IACnC,MAAM,EACJ,IAAI,EACJ,KAAK,EACL,YAAY,GAAG,GAAG,EAClB,OAAO,EACP,QAAQ,EACR,SAAS,EACT,KAAK,EACL,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IACV,OAAO,CACL,MAAC,MAAM,CAAC,MAAM,IACZ,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,QAAQ;YACpB,SAAS,EAAE,6BAA6B;YACxC,MAAM,EAAE,CAAC;YACT,UAAU,EAAE,KAAK,CAAC,gBAAgB;YAClC,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,KAAK,CAAC,SAAS;YACtB,GAAG,KAAK;SACT,aAEA,OAAO,IAAI,CACV,MAAC,IAAI,IACH,KAAK,EAAC,QAAQ,EACd,GAAG,EAAE,KAAK,CAAC,QAAQ,EACnB,KAAK,EAAE;oBACL,QAAQ,EAAE,YAAY;oBACtB,MAAM,EAAE,MAAM;oBACd,kBAAkB,EAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,UAAU;oBACtD,gBAAgB,EAAE,KAAK,CAAC,SAAS;iBAClC,aAED,cAAK,GAAG,EAAC,MAAM,EAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAI,EACvD,aAAI,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAG,KAAK,GAAM,IAC9D,CACR,EACD,KAAC,IAAI,IACH,IAAI,EAAC,YAAY,KACb,IAAI,EACR,KAAK,EAAE;oBACL,SAAS,EAAE,MAAM;oBACjB,MAAM,EAAE,MAAM;oBACd,cAAc,EAAE,MAAM;iBACvB,GACD,EACD,QAAQ,IAAI,KAAC,UAAU,IAAC,MAAM,EAAC,QAAQ,GAAG,IAC7B,CACjB,CAAC;AACJ,CAAC;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../src/components/Header.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAkB,KAAK,EAAE,MAAM,MAAM,CAAC;AAEjE,OAAO,UAAU,MAAM,cAAc,CAAC;AAsDtC;;;;;;;;;;;;GAYG;AACH,SAAS,MAAM,CAAC,KAAkB;IAChC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IACnC,MAAM,EACJ,IAAI,EACJ,KAAK,EACL,YAAY,GAAG,GAAG,EAClB,OAAO,EACP,QAAQ,EACR,SAAS,EACT,KAAK,EACL,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IACV,OAAO,CACL,MAAC,MAAM,CAAC,MAAM,IACZ,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,QAAQ;YACpB,SAAS,EAAE,6BAA6B;YACxC,MAAM,EAAE,CAAC;YACT,UAAU,EAAE,KAAK,CAAC,gBAAgB;YAClC,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,KAAK,CAAC,SAAS;YACtB,GAAG,KAAK;SACT,aAEA,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CACvB,OAAO,CACR,CAAC,CAAC,CAAC,CACF,MAAC,IAAI,IACH,KAAK,EAAC,QAAQ,EACd,GAAG,EAAE,KAAK,CAAC,QAAQ,EACnB,KAAK,EAAE;oBACL,QAAQ,EAAE,YAAY;oBACtB,MAAM,EAAE,MAAM;oBACd,kBAAkB,EAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,UAAU;oBACtD,gBAAgB,EAAE,KAAK,CAAC,SAAS;iBAClC,aAED,cAAK,GAAG,EAAC,MAAM,EAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAI,EACvD,aAAI,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAG,KAAK,GAAM,IAC9D,CACR,EACD,KAAC,IAAI,IACH,IAAI,EAAC,YAAY,KACb,IAAI,EACR,KAAK,EAAE;oBACL,SAAS,EAAE,MAAM;oBACjB,MAAM,EAAE,MAAM;oBACd,cAAc,EAAE,MAAM;iBACvB,GACD,EACD,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAC,UAAU,IAAC,MAAM,EAAC,QAAQ,GAAG,IACrD,CACjB,CAAC;AACJ,CAAC;AAED,eAAe,MAAM,CAAC"}
@@ -0,0 +1,44 @@
1
+ import type { HTMLAttributes } from "react";
2
+ export interface IndicatorLightProps extends HTMLAttributes<HTMLDivElement> {
3
+ /**
4
+ * 指示灯的直径。
5
+ * @default token.sizeXL
6
+ */
7
+ size?: number | string;
8
+ /**
9
+ * 指示的状态。设置了这一项时,{@linkcode onColor}、{@linkcode mode} 和 {@linkcode period} 会被忽略。
10
+ *
11
+ * `"healthy"` 表示常绿,`"attention"` 表示绿色闪烁,
12
+ * `"danger"` 表示常红,`"emergency"` 表示红色闪烁,
13
+ * `"off"` 表示关闭。
14
+ * 具体色值取自 design token。
15
+ */
16
+ status?: "healthy" | "attention" | "danger" | "emergency" | "off";
17
+ /**
18
+ * 灯亮时的颜色。
19
+ * @default token.colorError
20
+ */
21
+ onColor?: string;
22
+ /**
23
+ * 灯灭时的颜色。
24
+ * @default token.colorFill
25
+ */
26
+ offColor?: string;
27
+ /**
28
+ * 灯的状态。`"on"` 表示常亮,`"flash"` 表示闪烁,`"off"` 表示常暗。
29
+ * @default "on"
30
+ */
31
+ mode?: "on" | "flash" | "off";
32
+ /**
33
+ * 闪烁周期(一亮一暗)的时长,以秒为单位。不可为 `0`、`NaN` 或 `Infinity`。
34
+ * @default 1
35
+ */
36
+ period?: number;
37
+ }
38
+ /**
39
+ * 一个指示灯。
40
+ *
41
+ * 文档内未列出的属性会被传递给组件顶层的 `div` 元素。
42
+ */
43
+ declare function IndicatorLight(props: IndicatorLightProps): import("react/jsx-runtime").JSX.Element;
44
+ export default IndicatorLight;
@@ -0,0 +1,59 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createStyles, keyframes } from "antd-style";
3
+ const ANIMATION_MAP = {
4
+ on: "linear(0, 0) paused",
5
+ flash: "cubic-bezier(0.9, 0, 0.1, 1) infinite alternate",
6
+ off: "linear(1, 1) paused",
7
+ };
8
+ const useStyles = createStyles(({ token, css }, props) => {
9
+ const size = props.size ?? token.sizeXL;
10
+ const sizeCss = typeof size === "number" ? size + "px" : size;
11
+ const colorMap = {
12
+ healthy: { onColor: token.colorSuccess, mode: "on" },
13
+ attention: { onColor: token.colorSuccess, mode: "flash" },
14
+ danger: { onColor: token.colorError, mode: "on" },
15
+ emergency: { onColor: token.colorError, mode: "flash" },
16
+ off: { onColor: token.colorError, mode: "off" },
17
+ };
18
+ const { onColor = token.colorError, mode = "on" } = props.status
19
+ ? colorMap[props.status]
20
+ : props;
21
+ const offColor = props.offColor ?? token.colorFillSecondary;
22
+ const halfPeriod = (props.period ?? 1) / 2;
23
+ const flash = keyframes `
24
+ from {
25
+ background-color: ${onColor};
26
+ box-shadow: 0 0 6px 2px ${onColor};
27
+ }
28
+ to {
29
+ background-color: ${offColor};
30
+ }
31
+ `;
32
+ return {
33
+ light: css `
34
+ width: 100%;
35
+ height: 100%;
36
+ border-radius: 50%;
37
+ animation: ${flash} ${halfPeriod}s ${ANIMATION_MAP[mode]};
38
+ `,
39
+ lightBorder: css `
40
+ height: ${sizeCss};
41
+ aspect-ratio: 1;
42
+ border: ${token.colorBorder} 2px solid;
43
+ border-radius: 50%;
44
+ `,
45
+ };
46
+ });
47
+ /**
48
+ * 一个指示灯。
49
+ *
50
+ * 文档内未列出的属性会被传递给组件顶层的 `div` 元素。
51
+ */
52
+ function IndicatorLight(props) {
53
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
54
+ const { size, status, onColor, offColor, mode, period, ...rest } = props;
55
+ const { cx, styles } = useStyles(props);
56
+ return (_jsx("div", { ...rest, className: cx(styles.lightBorder, rest.className), children: _jsx("div", { className: cx(styles.light) }) }));
57
+ }
58
+ export default IndicatorLight;
59
+ //# sourceMappingURL=IndicatorLight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IndicatorLight.js","sourceRoot":"","sources":["../../src/components/IndicatorLight.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAwCrD,MAAM,aAAa,GAAqD;IACtE,EAAE,EAAE,qBAAqB;IACzB,KAAK,EAAE,iDAAiD;IACxD,GAAG,EAAE,qBAAqB;CAC3B,CAAC;AAEF,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,KAA0B,EAAE,EAAE;IAC5E,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC;IACxC,MAAM,OAAO,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,MAAM,QAAQ,GAGV;QACF,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;QACpD,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;QACzD,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;QACjD,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;QACvD,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;KAChD,CAAC;IACF,MAAM,EAAE,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM;QAC9D,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;QACxB,CAAC,CAAC,KAAK,CAAC;IACV,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,kBAAkB,CAAC;IAC5D,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,SAAS,CAAA;;0BAEC,OAAO;gCACD,OAAO;;;0BAGb,QAAQ;;GAE/B,CAAC;IACF,OAAO;QACL,KAAK,EAAE,GAAG,CAAA;;;;mBAIK,KAAK,IAAI,UAAU,KAAK,aAAa,CAAC,IAAI,CAAC;KACzD;QACD,WAAW,EAAE,GAAG,CAAA;gBACJ,OAAO;;gBAEP,KAAK,CAAC,WAAW;;KAE5B;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH;;;;GAIG;AACH,SAAS,cAAc,CAAC,KAA0B;IAChD,6DAA6D;IAC7D,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACzE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IACxC,OAAO,CACL,iBAAS,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,YAC9D,cAAK,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAQ,GACpC,CACP,CAAC;AACJ,CAAC;AAED,eAAe,cAAc,CAAC"}
@@ -22,7 +22,7 @@ export interface QuickDateRangePickerProps extends Omit<SpaceProps, "onChange">
22
22
  /**
23
23
  * 带有快速选择最近 3/5/7 天功能的日期范围选择器。
24
24
  *
25
- * 除了文档中列出的属性外,该组件会将其它属性转交给 [Ant Design 的 `Space` 组件][1]。
25
+ * 除了文档中列出的属性外,该组件会将其它属性传递给 [Ant Design 的 `Space` 组件][1]。
26
26
  *
27
27
  * [1]: https://ant-design.antgroup.com/components/space-cn#api
28
28
  */
@@ -10,7 +10,7 @@ const QUICK_PICK_RANGES = [
10
10
  /**
11
11
  * 带有快速选择最近 3/5/7 天功能的日期范围选择器。
12
12
  *
13
- * 除了文档中列出的属性外,该组件会将其它属性转交给 [Ant Design 的 `Space` 组件][1]。
13
+ * 除了文档中列出的属性外,该组件会将其它属性传递给 [Ant Design 的 `Space` 组件][1]。
14
14
  *
15
15
  * [1]: https://ant-design.antgroup.com/components/space-cn#api
16
16
  */
@@ -31,8 +31,9 @@ export interface SidebarProps extends MenuProps {
31
31
  * {@linkcode SidebarProps.title | title} 和
32
32
  * {@linkcode SidebarProps.headerHeight | headerHeight} 将失去作用。
33
33
  * 参数 `collapsed` 表示侧边栏是否收起。
34
+ * 填 `null` 可以隐藏掉默认值(与 `undefined` 不同!)。
34
35
  */
35
- header?: (collapsed: boolean) => ReactNode;
36
+ header?: ((collapsed: boolean) => ReactNode) | null;
36
37
  /**
37
38
  * 菜单项配置,默认与 TMS 系统的菜单相同。
38
39
  *
@@ -52,9 +53,10 @@ export interface SidebarProps extends MenuProps {
52
53
  /**
53
54
  * 侧边栏底部的额外内容。参数 `collapsed` 表示侧边栏是否收起。
54
55
  * 默认情况下使用 {@linkcode UserButton} 组件。
56
+ * 填 `null` 可以隐藏掉默认值(与 `undefined` 不同!)。
55
57
  * @default (collapsed) => <UserButton compact={collapsed} />
56
58
  */
57
- footer?: (collapsed: boolean) => ReactNode;
59
+ footer?: ((collapsed: boolean) => ReactNode) | null;
58
60
  /** 额外的 `className`。*/
59
61
  className?: string;
60
62
  /** 额外的 CSS 样式。*/
@@ -104,7 +104,7 @@ function Sidebar(props) {
104
104
  const { width = 260, collapsible = false, logo, title, headerHeight = 116, header, items = DEFAULT_MENU_ITEMS, footer = (collapsed) => _jsx(UserButton, { compact: collapsed }), className, style, ...rest } = props;
105
105
  const [collapsed, setCollapsed] = useState(false);
106
106
  const { cx, styles } = useStyles(collapsed);
107
- return (_jsxs(Layout.Sider, { theme: "light", width: width, collapsed: collapsible ? collapsed : false, collapsible: collapsible, trigger: null, className: cx(styles.sidebar, className), style: style, children: [header ? (header(collapsed)) : (_jsxs(Flex, { vertical: true, align: "center", justify: "center", className: cx(styles.sidebarHeader), style: { height: headerHeight }, children: [_jsx("img", { alt: "logo", src: logo }), _jsx("h1", { children: title })] })), _jsx(Menu, { mode: "inline", items: items, inlineCollapsed: collapsible ? collapsed : false, className: cx(styles.sidebarMenu), ...rest }), footer?.(collapsed), collapsible && (_jsx(Button, { className: cx(styles.sidebarBtn), icon: collapsed ? _jsx(RightOutlined, {}) : _jsx(LeftOutlined, {}), onClick: () => setCollapsed(!collapsed) }))] }));
107
+ return (_jsxs(Layout.Sider, { theme: "light", width: width, collapsed: collapsible ? collapsed : false, collapsible: collapsible, trigger: null, className: cx(styles.sidebar, className), style: style, children: [header === null ? null : header ? (header(collapsed)) : (_jsxs(Flex, { vertical: true, align: "center", justify: "center", className: cx(styles.sidebarHeader), style: { height: headerHeight }, children: [_jsx("img", { alt: "logo", src: logo }), _jsx("h1", { children: title })] })), _jsx(Menu, { mode: "inline", items: items, inlineCollapsed: collapsible ? collapsed : false, className: cx(styles.sidebarMenu), ...rest }), footer === null ? null : footer?.(collapsed), collapsible && (_jsx(Button, { className: cx(styles.sidebarBtn), icon: collapsed ? _jsx(RightOutlined, {}) : _jsx(LeftOutlined, {}), onClick: () => setCollapsed(!collapsed) }))] }));
108
108
  }
109
109
  export default Sidebar;
110
110
  //# sourceMappingURL=Sidebar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../src/components/Sidebar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../src/components/Sidebar.tsx"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@ export interface DatePickerProps extends Omit<SpaceCompactProps, "onChange"> {
30
30
  /**
31
31
  * 支持快速跳转的日/周/月/年选择器。
32
32
  *
33
- * 除了文档中列出的属性外,该组件会将其它属性转交给 [Ant Design 的 `Space.Compact` 组件][1]。
33
+ * 除了文档中列出的属性外,该组件会将其它属性传递给 [Ant Design 的 `Space.Compact` 组件][1]。
34
34
  *
35
35
  * [1]: https://ant-design.antgroup.com/components/space-cn#spacecompact
36
36
  */
@@ -5,7 +5,7 @@ import { useState } from "react";
5
5
  /**
6
6
  * 支持快速跳转的日/周/月/年选择器。
7
7
  *
8
- * 除了文档中列出的属性外,该组件会将其它属性转交给 [Ant Design 的 `Space.Compact` 组件][1]。
8
+ * 除了文档中列出的属性外,该组件会将其它属性传递给 [Ant Design 的 `Space.Compact` 组件][1]。
9
9
  *
10
10
  * [1]: https://ant-design.antgroup.com/components/space-cn#spacecompact
11
11
  */
package/dist/index.d.ts CHANGED
@@ -3,6 +3,7 @@ export { default as Calendar, type CalendarProps } from "./components/Calendar";
3
3
  export { default as CircularProgress, type CircularProgressProps, } from "./components/CircularProgress";
4
4
  export { default as Header, type HeaderProps } from "./components/Header";
5
5
  export { default as ImageBackground, type ImageBackgroundProps, } from "./components/ImageBackground";
6
+ export { default as IndicatorLight, type IndicatorLightProps, } from "./components/IndicatorLight";
6
7
  export { default as QuickDateRangePicker, type QuickDateRangePickerProps, } from "./components/QuickDateRangePicker";
7
8
  export { default as SegmentedButtons, TimeUnitSwitcher, type TimeUnitSwitcherProps, } from "./components/SegmentedButtons";
8
9
  export { default as Sidebar, type SidebarProps } from "./components/Sidebar";
package/dist/index.js CHANGED
@@ -3,6 +3,7 @@ export { default as Calendar } from "./components/Calendar";
3
3
  export { default as CircularProgress, } from "./components/CircularProgress";
4
4
  export { default as Header } from "./components/Header";
5
5
  export { default as ImageBackground, } from "./components/ImageBackground";
6
+ export { default as IndicatorLight, } from "./components/IndicatorLight";
6
7
  export { default as QuickDateRangePicker, } from "./components/QuickDateRangePicker";
7
8
  export { default as SegmentedButtons, TimeUnitSwitcher, } from "./components/SegmentedButtons";
8
9
  export { default as Sidebar } from "./components/Sidebar";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAEZ,SAAS,EAET,YAAY,EAEZ,OAAO,GACR,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,EAAE,OAAO,IAAI,MAAM,EAAoB,MAAM,qBAAqB,CAAC;AAE1E,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,EAAE,OAAO,IAAI,OAAO,EAAqB,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EACL,OAAO,IAAI,kBAAkB,GAE9B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,OAAO,IAAI,aAAa,GAEzB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,OAAO,IAAI,UAAU,GAEtB,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAEZ,SAAS,EAET,YAAY,EAEZ,OAAO,GACR,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,EAAE,OAAO,IAAI,MAAM,EAAoB,MAAM,qBAAqB,CAAC;AAE1E,OAAO,EACL,OAAO,IAAI,eAAe,GAE3B,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,OAAO,IAAI,cAAc,GAE1B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,OAAO,IAAI,oBAAoB,GAEhC,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,OAAO,IAAI,gBAAgB,EAC3B,gBAAgB,GAEjB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAqB,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EACL,OAAO,IAAI,kBAAkB,GAE9B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,OAAO,IAAI,aAAa,GAEzB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,OAAO,IAAI,UAAU,GAEtB,MAAM,yBAAyB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsingroc/tsingroc-components",
3
- "version": "3.3.0",
3
+ "version": "3.5.0",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -38,10 +38,10 @@
38
38
  },
39
39
  "devDependencies": {
40
40
  "@eslint/js": "^9.21.0",
41
- "@rsbuild/core": "^1.3.11",
41
+ "@rsbuild/core": "^1.3.13",
42
42
  "@rsbuild/plugin-react": "^1.3.0",
43
- "@rspress/plugin-preview": "^2.0.0-alpha.0",
44
- "@types/node": "^22.15.2",
43
+ "@rspress/plugin-preview": "^2.0.0-beta.2",
44
+ "@types/node": "^22.15.3",
45
45
  "@types/react": "^18.3.20",
46
46
  "@types/react-dom": "^18.3.6",
47
47
  "echarts-for-react": "^3.0.2",
@@ -51,7 +51,7 @@
51
51
  "prettier": "^3.5.3",
52
52
  "react-markdown": "^10.1.0",
53
53
  "remark-gfm": "^4.0.1",
54
- "rspress": "^2.0.0-alpha.8",
54
+ "rspress": "^2.0.0-beta.2",
55
55
  "typedoc": "^0.28.3",
56
56
  "typescript": "^5.8.3",
57
57
  "typescript-eslint": "^8.31.0"