@refinedev/antd 5.37.3 → 5.37.4

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 (49) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/components/fields/date/index.d.ts.map +1 -1
  3. package/dist/components/fields/email/index.d.ts.map +1 -1
  4. package/dist/components/fields/number/index.d.ts.map +1 -1
  5. package/dist/components/fields/text/index.d.ts.map +1 -1
  6. package/dist/components/fields/url/index.d.ts.map +1 -1
  7. package/dist/components/layout/header/index.d.ts.map +1 -1
  8. package/dist/components/layout/sider/index.d.ts.map +1 -1
  9. package/dist/components/pages/auth/components/forgotPassword/index.d.ts.map +1 -1
  10. package/dist/components/pages/auth/components/login/index.d.ts.map +1 -1
  11. package/dist/components/pages/auth/components/register/index.d.ts.map +1 -1
  12. package/dist/components/pages/auth/components/updatePassword/index.d.ts.map +1 -1
  13. package/dist/components/pages/error/index.d.ts.map +1 -1
  14. package/dist/components/pages/login/index.d.ts.map +1 -1
  15. package/dist/components/pages/ready/index.d.ts.map +1 -1
  16. package/dist/components/themedLayout/header/index.d.ts.map +1 -1
  17. package/dist/components/themedLayout/sider/index.d.ts.map +1 -1
  18. package/dist/components/themedLayout/title/index.d.ts.map +1 -1
  19. package/dist/components/themedLayoutV2/header/index.d.ts.map +1 -1
  20. package/dist/components/themedLayoutV2/sider/index.d.ts.map +1 -1
  21. package/dist/components/themedLayoutV2/title/index.d.ts.map +1 -1
  22. package/dist/esm/index.js +2 -1
  23. package/dist/esm/index.js.map +1 -1
  24. package/dist/iife/index.js +11 -10
  25. package/dist/iife/index.js.map +1 -1
  26. package/dist/index.js +2 -1
  27. package/dist/index.js.map +1 -1
  28. package/package.json +3 -3
  29. package/src/components/autoSaveIndicator/index.tsx +1 -2
  30. package/src/components/fields/date/index.tsx +2 -4
  31. package/src/components/fields/email/index.tsx +2 -4
  32. package/src/components/fields/number/index.tsx +2 -4
  33. package/src/components/fields/text/index.tsx +1 -3
  34. package/src/components/fields/url/index.tsx +2 -4
  35. package/src/components/layout/header/index.tsx +2 -3
  36. package/src/components/layout/sider/index.tsx +2 -4
  37. package/src/components/pages/auth/components/forgotPassword/index.tsx +5 -8
  38. package/src/components/pages/auth/components/login/index.tsx +7 -10
  39. package/src/components/pages/auth/components/register/index.tsx +9 -12
  40. package/src/components/pages/auth/components/updatePassword/index.tsx +3 -6
  41. package/src/components/pages/error/index.tsx +2 -4
  42. package/src/components/pages/login/index.tsx +4 -5
  43. package/src/components/pages/ready/index.tsx +3 -3
  44. package/src/components/themedLayout/header/index.tsx +4 -5
  45. package/src/components/themedLayout/sider/index.tsx +3 -6
  46. package/src/components/themedLayout/title/index.tsx +1 -3
  47. package/src/components/themedLayoutV2/header/index.tsx +4 -5
  48. package/src/components/themedLayoutV2/sider/index.tsx +3 -6
  49. package/src/components/themedLayoutV2/title/index.tsx +1 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@refinedev/antd",
3
- "version": "5.37.3",
3
+ "version": "5.37.4",
4
4
  "description": "refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.",
5
5
  "private": false,
6
6
  "sideEffects": [
@@ -26,9 +26,9 @@
26
26
  "react-dom": "^17.0.0 || ^18.0.0"
27
27
  },
28
28
  "devDependencies": {
29
- "@refinedev/cli": "^2.16.23",
29
+ "@refinedev/cli": "^2.16.24",
30
30
  "@refinedev/ui-tests": "^1.14.1",
31
- "@refinedev/core": "^4.47.0",
31
+ "@refinedev/core": "^4.47.1",
32
32
  "@esbuild-plugins/node-resolve": "^0.1.4",
33
33
  "@testing-library/jest-dom": "^5.16.4",
34
34
  "@testing-library/react": "^13.1.1",
@@ -68,8 +68,7 @@ const Message = ({
68
68
  icon: React.ReactNode;
69
69
  }) => {
70
70
  const translate = useTranslate();
71
- const { useToken } = theme;
72
- const { token } = useToken();
71
+ const { token } = theme.useToken();
73
72
 
74
73
  return (
75
74
  <Typography.Text
@@ -21,13 +21,11 @@ export const DateField: React.FC<DateFieldProps> = ({
21
21
 
22
22
  const defaultLocale = dayjs.locale();
23
23
 
24
- const { Text } = Typography;
25
-
26
24
  return (
27
- <Text {...rest}>
25
+ <Typography.Text {...rest}>
28
26
  {dayjs(value)
29
27
  .locale(locales || defaultLocale)
30
28
  .format(dateFormat)}
31
- </Text>
29
+ </Typography.Text>
32
30
  );
33
31
  };
@@ -1,8 +1,6 @@
1
1
  import React from "react";
2
2
  import { Typography } from "antd";
3
3
 
4
- const { Link } = Typography;
5
-
6
4
  import { EmailFieldProps } from "../types";
7
5
 
8
6
  /**
@@ -13,8 +11,8 @@ import { EmailFieldProps } from "../types";
13
11
  */
14
12
  export const EmailField: React.FC<EmailFieldProps> = ({ value, ...rest }) => {
15
13
  return (
16
- <Link href={`mailto:${value}`} {...rest}>
14
+ <Typography.Link href={`mailto:${value}`} {...rest}>
17
15
  {value}
18
- </Link>
16
+ </Typography.Link>
19
17
  );
20
18
  };
@@ -1,8 +1,6 @@
1
1
  import React from "react";
2
2
  import { Typography } from "antd";
3
3
 
4
- const { Text } = Typography;
5
-
6
4
  function toLocaleStringSupportsOptions() {
7
5
  return !!(
8
6
  typeof Intl == "object" &&
@@ -27,10 +25,10 @@ export const NumberField: React.FC<NumberFieldProps> = ({
27
25
  const number = Number(value);
28
26
 
29
27
  return (
30
- <Text {...rest}>
28
+ <Typography.Text {...rest}>
31
29
  {toLocaleStringSupportsOptions()
32
30
  ? number.toLocaleString(locale, options)
33
31
  : number}
34
- </Text>
32
+ </Typography.Text>
35
33
  );
36
34
  };
@@ -1,8 +1,6 @@
1
1
  import React from "react";
2
2
  import { Typography } from "antd";
3
3
 
4
- const { Text } = Typography;
5
-
6
4
  import { TextFieldProps } from "../types";
7
5
 
8
6
  /**
@@ -11,5 +9,5 @@ import { TextFieldProps } from "../types";
11
9
  * @see {@link https://refine.dev/docs/api-reference/antd/components/fields/text} for more details.
12
10
  */
13
11
  export const TextField: React.FC<TextFieldProps> = ({ value, ...rest }) => {
14
- return <Text {...rest}>{value}</Text>;
12
+ return <Typography.Text {...rest}>{value}</Typography.Text>;
15
13
  };
@@ -1,8 +1,6 @@
1
1
  import React from "react";
2
2
  import { Typography } from "antd";
3
3
 
4
- const { Link } = Typography;
5
-
6
4
  import { UrlFieldProps } from "../types";
7
5
 
8
6
  /**
@@ -17,8 +15,8 @@ export const UrlField: React.FC<UrlFieldProps> = ({
17
15
  ...rest
18
16
  }) => {
19
17
  return (
20
- <Link href={value} {...rest}>
18
+ <Typography.Link href={value} {...rest}>
21
19
  {children ?? value}
22
- </Link>
20
+ </Typography.Link>
23
21
  );
24
22
  };
@@ -2,7 +2,6 @@ import { useActiveAuthProvider, useGetIdentity } from "@refinedev/core";
2
2
  import { Avatar, Layout as AntdLayout, Space, Typography } from "antd";
3
3
  import React from "react";
4
4
  import { RefineLayoutHeaderProps } from "../types";
5
- const { Text } = Typography;
6
5
 
7
6
  export const Header: React.FC<RefineLayoutHeaderProps> = () => {
8
7
  const authProvider = useActiveAuthProvider();
@@ -24,9 +23,9 @@ export const Header: React.FC<RefineLayoutHeaderProps> = () => {
24
23
  >
25
24
  <Space style={{ marginLeft: "8px" }}>
26
25
  {user?.name && (
27
- <Text style={{ color: "white" }} strong>
26
+ <Typography.Text style={{ color: "white" }} strong>
28
27
  {user.name}
29
- </Text>
28
+ </Typography.Text>
30
29
  )}
31
30
  {user?.avatar && <Avatar src={user?.avatar} alt={user?.name} />}
32
31
  </Space>
@@ -28,8 +28,6 @@ import { Title as DefaultTitle } from "@components";
28
28
  import { drawerButtonStyles } from "./styles";
29
29
  import { RefineLayoutSiderProps } from "../types";
30
30
 
31
- const { SubMenu } = Menu;
32
-
33
31
  export const Sider: React.FC<RefineLayoutSiderProps> = ({
34
32
  Title: TitleFromProps,
35
33
  render,
@@ -82,13 +80,13 @@ export const Sider: React.FC<RefineLayoutSiderProps> = ({
82
80
  resource: item,
83
81
  }}
84
82
  >
85
- <SubMenu
83
+ <Menu.SubMenu
86
84
  key={item.key}
87
85
  icon={icon ?? <UnorderedListOutlined />}
88
86
  title={label}
89
87
  >
90
88
  {renderTreeView(children, selectedKey)}
91
- </SubMenu>
89
+ </Menu.SubMenu>
92
90
  </CanAccess>
93
91
  );
94
92
  }
@@ -40,9 +40,6 @@ type ResetPassworProps = ForgotPasswordPageProps<
40
40
  FormProps
41
41
  >;
42
42
 
43
- const { Text, Title } = Typography;
44
- const { useToken } = theme;
45
-
46
43
  /**
47
44
  * **refine** has forgot password page form which is served on `/forgot-password` route when the `authProvider` configuration is provided.
48
45
  *
@@ -56,7 +53,7 @@ export const ForgotPasswordPage: React.FC<ResetPassworProps> = ({
56
53
  formProps,
57
54
  title,
58
55
  }) => {
59
- const { token } = useToken();
56
+ const { token } = theme.useToken();
60
57
  const [form] = Form.useForm<ForgotPasswordFormTypes>();
61
58
  const translate = useTranslate();
62
59
  const routerType = useRouterType();
@@ -83,7 +80,7 @@ export const ForgotPasswordPage: React.FC<ResetPassworProps> = ({
83
80
  );
84
81
 
85
82
  const CardTitle = (
86
- <Title
83
+ <Typography.Title
87
84
  level={3}
88
85
  style={{
89
86
  color: token.colorPrimaryTextHover,
@@ -91,7 +88,7 @@ export const ForgotPasswordPage: React.FC<ResetPassworProps> = ({
91
88
  }}
92
89
  >
93
90
  {translate("pages.forgotPassword.title", "Forgot your password?")}
94
- </Title>
91
+ </Typography.Title>
95
92
  );
96
93
  const CardContent = (
97
94
  <Card
@@ -144,7 +141,7 @@ export const ForgotPasswordPage: React.FC<ResetPassworProps> = ({
144
141
  }}
145
142
  >
146
143
  {loginLink ?? (
147
- <Text
144
+ <Typography.Text
148
145
  style={{
149
146
  fontSize: 12,
150
147
  marginLeft: "auto",
@@ -163,7 +160,7 @@ export const ForgotPasswordPage: React.FC<ResetPassworProps> = ({
163
160
  >
164
161
  {translate("pages.login.signin", "Sign in")}
165
162
  </ActiveLink>
166
- </Text>
163
+ </Typography.Text>
167
164
  )}
168
165
  </div>
169
166
  <Form.Item
@@ -33,9 +33,6 @@ import {
33
33
  } from "../styles";
34
34
  import { ThemedTitleV2 } from "@components";
35
35
 
36
- const { Text, Title } = Typography;
37
- const { useToken } = theme;
38
-
39
36
  type LoginProps = LoginPageProps<LayoutProps, CardProps, FormProps>;
40
37
  /**
41
38
  * **refine** has a default login page form which is served on `/login` route when the `authProvider` configuration is provided.
@@ -54,7 +51,7 @@ export const LoginPage: React.FC<LoginProps> = ({
54
51
  title,
55
52
  hideForm,
56
53
  }) => {
57
- const { token } = useToken();
54
+ const { token } = theme.useToken();
58
55
  const [form] = Form.useForm<LoginFormTypes>();
59
56
  const translate = useTranslate();
60
57
  const routerType = useRouterType();
@@ -83,7 +80,7 @@ export const LoginPage: React.FC<LoginProps> = ({
83
80
  );
84
81
 
85
82
  const CardTitle = (
86
- <Title
83
+ <Typography.Title
87
84
  level={3}
88
85
  style={{
89
86
  color: token.colorPrimaryTextHover,
@@ -91,7 +88,7 @@ export const LoginPage: React.FC<LoginProps> = ({
91
88
  }}
92
89
  >
93
90
  {translate("pages.login.title", "Sign in to your account")}
94
- </Title>
91
+ </Typography.Title>
95
92
  );
96
93
 
97
94
  const renderProviders = () => {
@@ -124,13 +121,13 @@ export const LoginPage: React.FC<LoginProps> = ({
124
121
  })}
125
122
  {!hideForm && (
126
123
  <Divider>
127
- <Text
124
+ <Typography.Text
128
125
  style={{
129
126
  color: token.colorTextLabel,
130
127
  }}
131
128
  >
132
129
  {translate("pages.login.divider", "or")}
133
- </Text>
130
+ </Typography.Text>
134
131
  </Divider>
135
132
  )}
136
133
  </>
@@ -262,7 +259,7 @@ export const LoginPage: React.FC<LoginProps> = ({
262
259
  marginTop: hideForm ? 16 : 8,
263
260
  }}
264
261
  >
265
- <Text style={{ fontSize: 12 }}>
262
+ <Typography.Text style={{ fontSize: 12 }}>
266
263
  {translate(
267
264
  "pages.login.buttons.noAccount",
268
265
  "Don’t have an account?",
@@ -276,7 +273,7 @@ export const LoginPage: React.FC<LoginProps> = ({
276
273
  >
277
274
  {translate("pages.login.signup", "Sign up")}
278
275
  </ActiveLink>
279
- </Text>
276
+ </Typography.Text>
280
277
  </div>
281
278
  )}
282
279
  </Card>
@@ -32,9 +32,6 @@ import {
32
32
  } from "../styles";
33
33
  import { ThemedTitleV2 } from "@components";
34
34
 
35
- const { Text, Title } = Typography;
36
- const { useToken } = theme;
37
-
38
35
  type RegisterProps = RegisterPageProps<LayoutProps, CardProps, FormProps>;
39
36
  /**
40
37
  * **refine** has register page form which is served on `/register` route when the `authProvider` configuration is provided.
@@ -51,7 +48,7 @@ export const RegisterPage: React.FC<RegisterProps> = ({
51
48
  title,
52
49
  hideForm,
53
50
  }) => {
54
- const { token } = useToken();
51
+ const { token } = theme.useToken();
55
52
  const [form] = Form.useForm<RegisterFormTypes>();
56
53
  const translate = useTranslate();
57
54
  const routerType = useRouterType();
@@ -80,7 +77,7 @@ export const RegisterPage: React.FC<RegisterProps> = ({
80
77
  );
81
78
 
82
79
  const CardTitle = (
83
- <Title
80
+ <Typography.Title
84
81
  level={3}
85
82
  style={{
86
83
  color: token.colorPrimaryTextHover,
@@ -88,7 +85,7 @@ export const RegisterPage: React.FC<RegisterProps> = ({
88
85
  }}
89
86
  >
90
87
  {translate("pages.register.title", "Sign up for your account")}
91
- </Title>
88
+ </Typography.Title>
92
89
  );
93
90
 
94
91
  const renderProviders = () => {
@@ -121,13 +118,13 @@ export const RegisterPage: React.FC<RegisterProps> = ({
121
118
  })}
122
119
  {!hideForm && (
123
120
  <Divider>
124
- <Text
121
+ <Typography.Text
125
122
  style={{
126
123
  color: token.colorTextLabel,
127
124
  }}
128
125
  >
129
126
  {translate("pages.login.divider", "or")}
130
- </Text>
127
+ </Typography.Text>
131
128
  </Divider>
132
129
  )}
133
130
  </>
@@ -200,7 +197,7 @@ export const RegisterPage: React.FC<RegisterProps> = ({
200
197
  }}
201
198
  >
202
199
  {loginLink ?? (
203
- <Text
200
+ <Typography.Text
204
201
  style={{
205
202
  fontSize: 12,
206
203
  marginLeft: "auto",
@@ -219,7 +216,7 @@ export const RegisterPage: React.FC<RegisterProps> = ({
219
216
  >
220
217
  {translate("pages.login.signin", "Sign in")}
221
218
  </ActiveLink>
222
- </Text>
219
+ </Typography.Text>
223
220
  )}
224
221
  </div>
225
222
  <Form.Item
@@ -248,7 +245,7 @@ export const RegisterPage: React.FC<RegisterProps> = ({
248
245
  marginTop: hideForm ? 16 : 8,
249
246
  }}
250
247
  >
251
- <Text
248
+ <Typography.Text
252
249
  style={{
253
250
  fontSize: 12,
254
251
  }}
@@ -266,7 +263,7 @@ export const RegisterPage: React.FC<RegisterProps> = ({
266
263
  >
267
264
  {translate("pages.login.signin", "Sign in")}
268
265
  </ActiveLink>
269
- </Text>
266
+ </Typography.Text>
270
267
  </div>
271
268
  )}
272
269
  </Card>
@@ -29,9 +29,6 @@ import {
29
29
  } from "../styles";
30
30
  import { ThemedTitleV2 } from "@components";
31
31
 
32
- const { Title } = Typography;
33
- const { useToken } = theme;
34
-
35
32
  type UpdatePasswordProps = UpdatePasswordPageProps<
36
33
  LayoutProps,
37
34
  CardProps,
@@ -50,7 +47,7 @@ export const UpdatePasswordPage: React.FC<UpdatePasswordProps> = ({
50
47
  formProps,
51
48
  title,
52
49
  }) => {
53
- const { token } = useToken();
50
+ const { token } = theme.useToken();
54
51
  const [form] = Form.useForm<UpdatePasswordFormTypes>();
55
52
  const translate = useTranslate();
56
53
  const authProvider = useActiveAuthProvider();
@@ -74,7 +71,7 @@ export const UpdatePasswordPage: React.FC<UpdatePasswordProps> = ({
74
71
  );
75
72
 
76
73
  const CardTitle = (
77
- <Title
74
+ <Typography.Title
78
75
  level={3}
79
76
  style={{
80
77
  color: token.colorPrimaryTextHover,
@@ -82,7 +79,7 @@ export const UpdatePasswordPage: React.FC<UpdatePasswordProps> = ({
82
79
  }}
83
80
  >
84
81
  {translate("pages.updatePassword.title", "Set New Password")}
85
- </Title>
82
+ </Typography.Title>
86
83
  );
87
84
 
88
85
  const CardContent = (
@@ -5,8 +5,6 @@ import { Button, Result, Typography, Space, Tooltip } from "antd";
5
5
  import { InfoCircleOutlined } from "@ant-design/icons";
6
6
  import { useNavigation, useTranslate } from "@refinedev/core";
7
7
 
8
- const { Text } = Typography;
9
-
10
8
  /**
11
9
  * When the app is navigated to a non-existent route, refine shows a default error page.
12
10
  * A custom error component can be used for this error page.
@@ -46,12 +44,12 @@ export const ErrorComponent: React.FC<RefineErrorPageProps> = () => {
46
44
  extra={
47
45
  <Space direction="vertical" size="large">
48
46
  <Space>
49
- <Text>
47
+ <Typography.Text>
50
48
  {translate(
51
49
  "pages.error.404",
52
50
  "Sorry, the page you visited does not exist.",
53
51
  )}
54
- </Text>
52
+ </Typography.Text>
55
53
  {errorMessage && (
56
54
  <Tooltip title={errorMessage}>
57
55
  <InfoCircleOutlined data-testid="error-component-tooltip" />
@@ -20,7 +20,6 @@ import {
20
20
  imageContainer,
21
21
  } from "./styles";
22
22
 
23
- const { Text, Title } = Typography;
24
23
  export interface ILoginForm {
25
24
  username: string;
26
25
  password: string;
@@ -43,9 +42,9 @@ export const LoginPage: React.FC<LoginPageProps> = () => {
43
42
  });
44
43
 
45
44
  const CardTitle = (
46
- <Title level={3} style={titleStyles}>
45
+ <Typography.Title level={3} style={titleStyles}>
47
46
  {translate("pages.login.title", "Sign in your account")}
48
- </Title>
47
+ </Typography.Title>
49
48
  );
50
49
 
51
50
  return (
@@ -150,7 +149,7 @@ export const LoginPage: React.FC<LoginPageProps> = () => {
150
149
  </Button>
151
150
  </Form>
152
151
  <div style={{ marginTop: 8 }}>
153
- <Text style={{ fontSize: 12 }}>
152
+ <Typography.Text style={{ fontSize: 12 }}>
154
153
  {translate(
155
154
  "pages.login.noAccount",
156
155
  "Don’t have an account?",
@@ -161,7 +160,7 @@ export const LoginPage: React.FC<LoginPageProps> = () => {
161
160
  "Sign up",
162
161
  )}
163
162
  </a>
164
- </Text>
163
+ </Typography.Text>
165
164
  </div>
166
165
  </Card>
167
166
  </div>
@@ -33,8 +33,6 @@ const styles: { [key: string]: React.CSSProperties } = {
33
33
  },
34
34
  };
35
35
 
36
- const { Title } = Typography;
37
-
38
36
  /**
39
37
  * **refine** shows a default ready page on root route when no `resources` is passed to the `<Refine>` component as a property.
40
38
  *
@@ -49,7 +47,9 @@ export const ReadyPage: React.FC<RefineReadyPageProps> = () => {
49
47
  src="https://refine.ams3.cdn.digitaloceanspaces.com/logo/refine.svg"
50
48
  alt="Refine Logo"
51
49
  />
52
- <Title style={styles.title}>Welcome on board</Title>
50
+ <Typography.Title style={styles.title}>
51
+ Welcome on board
52
+ </Typography.Title>
53
53
  <p style={styles.p1}>Your configuration is completed.</p>
54
54
  <p style={styles.p2}>
55
55
  Now you can get started by adding your resources to the{" "}
@@ -3,14 +3,11 @@ import { Layout as AntdLayout, Typography, Avatar, Space, theme } from "antd";
3
3
  import { useActiveAuthProvider, useGetIdentity } from "@refinedev/core";
4
4
  import { RefineThemedLayoutHeaderProps } from "../types";
5
5
 
6
- const { Text } = Typography;
7
- const { useToken } = theme;
8
-
9
6
  /**
10
7
  * @deprecated It is recommended to use the improved `ThemedLayoutV2`. Review migration guidelines. https://refine.dev/docs/api-reference/antd/components/antd-themed-layout/#migrate-themedlayout-to-themedlayoutv2
11
8
  */
12
9
  export const ThemedHeader: React.FC<RefineThemedLayoutHeaderProps> = () => {
13
- const { token } = useToken();
10
+ const { token } = theme.useToken();
14
11
 
15
12
  const authProvider = useActiveAuthProvider();
16
13
  const { data: user } = useGetIdentity({
@@ -36,7 +33,9 @@ export const ThemedHeader: React.FC<RefineThemedLayoutHeaderProps> = () => {
36
33
  >
37
34
  <Space>
38
35
  <Space size="middle">
39
- {user?.name && <Text strong>{user.name}</Text>}
36
+ {user?.name && (
37
+ <Typography.Text strong>{user.name}</Typography.Text>
38
+ )}
40
39
  {user?.avatar && (
41
40
  <Avatar src={user?.avatar} alt={user?.name} />
42
41
  )}
@@ -29,9 +29,6 @@ import { drawerButtonStyles } from "./styles";
29
29
  import { RefineThemedLayoutSiderProps } from "../types";
30
30
  import { ThemedTitle } from "@components";
31
31
 
32
- const { SubMenu } = Menu;
33
- const { useToken } = theme;
34
-
35
32
  /**
36
33
  * @deprecated It is recommended to use the improved `ThemedLayoutV2`. Review migration guidelines. https://refine.dev/docs/api-reference/antd/components/antd-themed-layout/#migrate-themedlayout-to-themedlayoutv2
37
34
  */
@@ -40,7 +37,7 @@ export const ThemedSider: React.FC<RefineThemedLayoutSiderProps> = ({
40
37
  render,
41
38
  meta,
42
39
  }) => {
43
- const { token } = useToken();
40
+ const { token } = theme.useToken();
44
41
 
45
42
  const [collapsed, setCollapsed] = useState<boolean>(false);
46
43
  const [drawerOpen, setDrawerOpen] = useState<boolean>(false);
@@ -89,13 +86,13 @@ export const ThemedSider: React.FC<RefineThemedLayoutSiderProps> = ({
89
86
  resource: item,
90
87
  }}
91
88
  >
92
- <SubMenu
89
+ <Menu.SubMenu
93
90
  key={item.key}
94
91
  icon={icon ?? <UnorderedListOutlined />}
95
92
  title={label}
96
93
  >
97
94
  {renderTreeView(children, selectedKey)}
98
- </SubMenu>
95
+ </Menu.SubMenu>
99
96
  </CanAccess>
100
97
  );
101
98
  }
@@ -3,8 +3,6 @@ import { useRouterContext, useRouterType, useLink } from "@refinedev/core";
3
3
  import { Typography, theme, Space } from "antd";
4
4
  import { RefineLayoutThemedTitleProps } from "../types";
5
5
 
6
- const { useToken } = theme;
7
-
8
6
  const defaultText = "Refine Project";
9
7
 
10
8
  const defaultIcon = (
@@ -38,7 +36,7 @@ export const ThemedTitle: React.FC<RefineLayoutThemedTitleProps> = ({
38
36
  text = defaultText,
39
37
  wrapperStyles,
40
38
  }) => {
41
- const { token } = useToken();
39
+ const { token } = theme.useToken();
42
40
  const routerType = useRouterType();
43
41
  const Link = useLink();
44
42
  const { Link: LegacyLink } = useRouterContext();
@@ -7,14 +7,11 @@ import {
7
7
  } from "@refinedev/core";
8
8
  import { RefineThemedLayoutV2HeaderProps } from "../types";
9
9
 
10
- const { Text } = Typography;
11
- const { useToken } = theme;
12
-
13
10
  export const ThemedHeaderV2: React.FC<RefineThemedLayoutV2HeaderProps> = ({
14
11
  isSticky,
15
12
  sticky,
16
13
  }) => {
17
- const { token } = useToken();
14
+ const { token } = theme.useToken();
18
15
 
19
16
  const authProvider = useActiveAuthProvider();
20
17
  const { data: user } = useGetIdentity({
@@ -46,7 +43,9 @@ export const ThemedHeaderV2: React.FC<RefineThemedLayoutV2HeaderProps> = ({
46
43
  <AntdLayout.Header style={headerStyles}>
47
44
  <Space>
48
45
  <Space size="middle">
49
- {user?.name && <Text strong>{user.name}</Text>}
46
+ {user?.name && (
47
+ <Typography.Text strong>{user.name}</Typography.Text>
48
+ )}
50
49
  {user?.avatar && (
51
50
  <Avatar src={user?.avatar} alt={user?.name} />
52
51
  )}
@@ -30,9 +30,6 @@ import { RefineThemedLayoutV2SiderProps } from "../types";
30
30
  import { ThemedTitleV2 } from "@components";
31
31
  import { useThemedLayoutContext } from "@hooks";
32
32
 
33
- const { SubMenu } = Menu;
34
- const { useToken } = theme;
35
-
36
33
  export const ThemedSiderV2: React.FC<RefineThemedLayoutV2SiderProps> = ({
37
34
  Title: TitleFromProps,
38
35
  render,
@@ -40,7 +37,7 @@ export const ThemedSiderV2: React.FC<RefineThemedLayoutV2SiderProps> = ({
40
37
  fixed,
41
38
  activeItemDisabled = false,
42
39
  }) => {
43
- const { token } = useToken();
40
+ const { token } = theme.useToken();
44
41
  const {
45
42
  siderCollapsed,
46
43
  setSiderCollapsed,
@@ -93,13 +90,13 @@ export const ThemedSiderV2: React.FC<RefineThemedLayoutV2SiderProps> = ({
93
90
  resource: item,
94
91
  }}
95
92
  >
96
- <SubMenu
93
+ <Menu.SubMenu
97
94
  key={item.key}
98
95
  icon={icon ?? <UnorderedListOutlined />}
99
96
  title={label}
100
97
  >
101
98
  {renderTreeView(children, selectedKey)}
102
- </SubMenu>
99
+ </Menu.SubMenu>
103
100
  </CanAccess>
104
101
  );
105
102
  }
@@ -3,8 +3,6 @@ import { useRouterContext, useRouterType, useLink } from "@refinedev/core";
3
3
  import { Typography, theme, Space } from "antd";
4
4
  import { RefineLayoutThemedTitleProps } from "../types";
5
5
 
6
- const { useToken } = theme;
7
-
8
6
  const defaultText = "Refine Project";
9
7
 
10
8
  const defaultIcon = (
@@ -35,7 +33,7 @@ export const ThemedTitleV2: React.FC<RefineLayoutThemedTitleProps> = ({
35
33
  text = defaultText,
36
34
  wrapperStyles,
37
35
  }) => {
38
- const { token } = useToken();
36
+ const { token } = theme.useToken();
39
37
  const routerType = useRouterType();
40
38
  const Link = useLink();
41
39
  const { Link: LegacyLink } = useRouterContext();