@tsingroc/tsingroc-components 3.4.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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"}
@@ -41,8 +41,8 @@ export interface HeaderProps extends MenuProps {
41
41
  onOpenChange?: MenuProps["onOpenChange"];
42
42
  /**
43
43
  * 顶栏右端的额外内容。默认使用 {@linkcode UserButton} 组件。
44
- * @default <UserButton layout="header" />
45
44
  * 填 `null` 可以隐藏掉默认值(与 `undefined` 不同!)。
45
+ * @default <UserButton layout="header" />
46
46
  */
47
47
  rightEnd?: ReactNode;
48
48
  /** 额外的 `className`。*/
@@ -35,6 +35,10 @@ export interface IndicatorLightProps extends HTMLAttributes<HTMLDivElement> {
35
35
  */
36
36
  period?: number;
37
37
  }
38
- /** 一个指示灯。*/
38
+ /**
39
+ * 一个指示灯。
40
+ *
41
+ * 文档内未列出的属性会被传递给组件顶层的 `div` 元素。
42
+ */
39
43
  declare function IndicatorLight(props: IndicatorLightProps): import("react/jsx-runtime").JSX.Element;
40
44
  export default IndicatorLight;
@@ -44,10 +44,16 @@ const useStyles = createStyles(({ token, css }, props) => {
44
44
  `,
45
45
  };
46
46
  });
47
- /** 一个指示灯。*/
47
+ /**
48
+ * 一个指示灯。
49
+ *
50
+ * 文档内未列出的属性会被传递给组件顶层的 `div` 元素。
51
+ */
48
52
  function IndicatorLight(props) {
53
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
54
+ const { size, status, onColor, offColor, mode, period, ...rest } = props;
49
55
  const { cx, styles } = useStyles(props);
50
- return (_jsx("div", { className: cx(styles.lightBorder), children: _jsx("div", { className: cx(styles.light) }) }));
56
+ return (_jsx("div", { ...rest, className: cx(styles.lightBorder, rest.className), children: _jsx("div", { className: cx(styles.light) }) }));
51
57
  }
52
58
  export default IndicatorLight;
53
59
  //# sourceMappingURL=IndicatorLight.js.map
@@ -1 +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,YAAY;AACZ,SAAS,cAAc,CAAC,KAA0B;IAChD,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IACxC,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,YACpC,cAAK,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAQ,GACpC,CACP,CAAC;AACJ,CAAC;AAED,eAAe,cAAc,CAAC"}
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
  */
@@ -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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsingroc/tsingroc-components",
3
- "version": "3.4.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"