@refinedev/antd 5.18.2 → 5.20.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@refinedev/antd",
3
- "version": "5.18.2",
3
+ "version": "5.20.0",
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
  "main": "dist/index.js",
@@ -25,7 +25,7 @@
25
25
  "devDependencies": {
26
26
  "@refinedev/cli": "^2.5.3",
27
27
  "@refinedev/ui-tests": "^1.5.0",
28
- "@refinedev/core": "^4.14.3",
28
+ "@refinedev/core": "^4.16.4",
29
29
  "@esbuild-plugins/node-resolve": "^0.1.4",
30
30
  "@testing-library/jest-dom": "^5.16.4",
31
31
  "@testing-library/react": "^13.1.1",
@@ -47,7 +47,7 @@
47
47
  "typescript": "^4.7.4"
48
48
  },
49
49
  "dependencies": {
50
- "@ant-design/icons": "^5.0.1",
50
+ "@ant-design/icons": "5.0.1",
51
51
  "@ant-design/pro-layout": "7.8.3",
52
52
  "@refinedev/ui-types": "^1.16.0",
53
53
  "@tanstack/react-query": "^4.10.1",
@@ -28,7 +28,7 @@ import {
28
28
  import { drawerButtonStyles } from "./styles";
29
29
  import { RefineThemedLayoutV2SiderProps } from "../types";
30
30
  import { ThemedTitleV2 } from "@components";
31
- import { useSiderVisible } from "@hooks";
31
+ import { useThemedLayoutContext } from "@hooks";
32
32
 
33
33
  const { SubMenu } = Menu;
34
34
  const { useToken } = theme;
@@ -41,11 +41,11 @@ export const ThemedSiderV2: React.FC<RefineThemedLayoutV2SiderProps> = ({
41
41
  }) => {
42
42
  const { token } = useToken();
43
43
  const {
44
- siderVisible,
45
- setSiderVisible,
46
- drawerSiderVisible,
47
- setDrawerSiderVisible,
48
- } = useSiderVisible();
44
+ siderCollapsed,
45
+ setSiderCollapsed,
46
+ mobileSiderOpen,
47
+ setMobileSiderOpen,
48
+ } = useThemedLayoutContext();
49
49
 
50
50
  const isExistAuthentication = useIsExistAuthentication();
51
51
  const routerType = useRouterType();
@@ -122,7 +122,7 @@ export const ThemedSiderV2: React.FC<RefineThemedLayoutV2SiderProps> = ({
122
122
  icon={icon ?? (isRoute && <UnorderedListOutlined />)}
123
123
  >
124
124
  <Link to={route ?? ""}>{label}</Link>
125
- {!drawerSiderVisible && isSelected && (
125
+ {!siderCollapsed && isSelected && (
126
126
  <div className="ant-menu-tree-arrow" />
127
127
  )}
128
128
  </Menu.Item>
@@ -162,7 +162,7 @@ export const ThemedSiderV2: React.FC<RefineThemedLayoutV2SiderProps> = ({
162
162
  const dashboard = hasDashboard ? (
163
163
  <Menu.Item key="dashboard" icon={<DashboardOutlined />}>
164
164
  <Link to="/">{translate("dashboard.title", "Dashboard")}</Link>
165
- {!drawerSiderVisible && selectedKey === "/" && (
165
+ {!siderCollapsed && selectedKey === "/" && (
166
166
  <div className="ant-menu-tree-arrow" />
167
167
  )}
168
168
  </Menu.Item>
@@ -176,7 +176,7 @@ export const ThemedSiderV2: React.FC<RefineThemedLayoutV2SiderProps> = ({
176
176
  dashboard,
177
177
  items,
178
178
  logout,
179
- collapsed: drawerSiderVisible,
179
+ collapsed: siderCollapsed,
180
180
  });
181
181
  }
182
182
  return (
@@ -201,10 +201,7 @@ export const ThemedSiderV2: React.FC<RefineThemedLayoutV2SiderProps> = ({
201
201
  height: "calc(100% - 72px)",
202
202
  }}
203
203
  onClick={() => {
204
- setSiderVisible?.(false);
205
- if (!breakpoint.lg) {
206
- setDrawerSiderVisible?.(true);
207
- }
204
+ setMobileSiderOpen(false);
208
205
  }}
209
206
  >
210
207
  {renderSider()}
@@ -216,8 +213,8 @@ export const ThemedSiderV2: React.FC<RefineThemedLayoutV2SiderProps> = ({
216
213
  return (
217
214
  <>
218
215
  <Drawer
219
- open={siderVisible}
220
- onClose={() => setSiderVisible?.(false)}
216
+ open={mobileSiderOpen}
217
+ onClose={() => setMobileSiderOpen(false)}
221
218
  placement="left"
222
219
  closable={false}
223
220
  width={200}
@@ -255,7 +252,7 @@ export const ThemedSiderV2: React.FC<RefineThemedLayoutV2SiderProps> = ({
255
252
  <Button
256
253
  style={drawerButtonStyles}
257
254
  size="large"
258
- onClick={() => setSiderVisible?.(true)}
255
+ onClick={() => setMobileSiderOpen(true)}
259
256
  icon={<BarsOutlined />}
260
257
  ></Button>
261
258
  </>
@@ -283,7 +280,7 @@ export const ThemedSiderV2: React.FC<RefineThemedLayoutV2SiderProps> = ({
283
280
  {fixed && (
284
281
  <div
285
282
  style={{
286
- width: drawerSiderVisible ? "80px" : "200px",
283
+ width: siderCollapsed ? "80px" : "200px",
287
284
  transition: "all 0.2s",
288
285
  }}
289
286
  />
@@ -291,10 +288,10 @@ export const ThemedSiderV2: React.FC<RefineThemedLayoutV2SiderProps> = ({
291
288
  <Layout.Sider
292
289
  style={siderStyles}
293
290
  collapsible
294
- collapsed={drawerSiderVisible}
291
+ collapsed={siderCollapsed}
295
292
  onCollapse={(collapsed, type) => {
296
293
  if (type === "clickTrigger") {
297
- setDrawerSiderVisible?.(collapsed);
294
+ setSiderCollapsed(collapsed);
298
295
  }
299
296
  }}
300
297
  collapsedWidth={80}
@@ -309,7 +306,7 @@ export const ThemedSiderV2: React.FC<RefineThemedLayoutV2SiderProps> = ({
309
306
  backgroundColor: token.colorBgElevated,
310
307
  }}
311
308
  >
312
- {drawerSiderVisible ? (
309
+ {siderCollapsed ? (
313
310
  <RightOutlined
314
311
  style={{
315
312
  color: token.colorPrimary,
@@ -327,10 +324,10 @@ export const ThemedSiderV2: React.FC<RefineThemedLayoutV2SiderProps> = ({
327
324
  >
328
325
  <div
329
326
  style={{
330
- width: drawerSiderVisible ? "80px" : "200px",
331
- padding: drawerSiderVisible ? "0" : "0 16px",
327
+ width: siderCollapsed ? "80px" : "200px",
328
+ padding: siderCollapsed ? "0" : "0 16px",
332
329
  display: "flex",
333
- justifyContent: drawerSiderVisible
330
+ justifyContent: siderCollapsed
334
331
  ? "center"
335
332
  : "flex-start",
336
333
  alignItems: "center",
@@ -340,7 +337,7 @@ export const ThemedSiderV2: React.FC<RefineThemedLayoutV2SiderProps> = ({
340
337
  borderBottom: `1px solid ${token.colorBorder}`,
341
338
  }}
342
339
  >
343
- <RenderToTitle collapsed={drawerSiderVisible} />
340
+ <RenderToTitle collapsed={siderCollapsed} />
344
341
  </div>
345
342
  {renderMenu()}
346
343
  </Layout.Sider>
@@ -1,6 +1,6 @@
1
1
  export interface IThemedLayoutContext {
2
- siderVisible: boolean;
3
- drawerSiderVisible: boolean;
4
- setSiderVisible?: (visible: boolean) => void;
5
- setDrawerSiderVisible?: (visible: boolean) => void;
2
+ siderCollapsed: boolean;
3
+ setSiderCollapsed: (visible: boolean) => void;
4
+ mobileSiderOpen: boolean;
5
+ setMobileSiderOpen: (visible: boolean) => void;
6
6
  }
@@ -3,26 +3,28 @@ import React, { ReactNode, useState } from "react";
3
3
  import { IThemedLayoutContext } from "./IThemedLayoutContext";
4
4
 
5
5
  export const ThemedLayoutContext = React.createContext<IThemedLayoutContext>({
6
- siderVisible: false,
7
- drawerSiderVisible: false,
6
+ siderCollapsed: false,
7
+ mobileSiderOpen: false,
8
+ setSiderCollapsed: () => undefined,
9
+ setMobileSiderOpen: () => undefined,
8
10
  });
9
11
 
10
12
  export const ThemedLayoutContextProvider: React.FC<{
11
13
  children: ReactNode;
12
14
  initialSiderCollapsed?: boolean;
13
15
  }> = ({ children, initialSiderCollapsed }) => {
14
- const [siderVisible, setSiderVisible] = useState(false);
15
- const [drawerSiderVisible, setDrawerSiderVisible] = useState(
16
+ const [siderCollapsed, setSiderCollapsed] = useState(
16
17
  initialSiderCollapsed ?? false,
17
18
  );
19
+ const [mobileSiderOpen, setMobileSiderOpen] = useState(false);
18
20
 
19
21
  return (
20
22
  <ThemedLayoutContext.Provider
21
23
  value={{
22
- siderVisible,
23
- drawerSiderVisible,
24
- setSiderVisible,
25
- setDrawerSiderVisible,
24
+ siderCollapsed,
25
+ mobileSiderOpen,
26
+ setSiderCollapsed,
27
+ setMobileSiderOpen,
26
28
  }}
27
29
  >
28
30
  {children}
@@ -6,3 +6,4 @@ export * from "./list";
6
6
  export * from "./useFileUploadState";
7
7
  export * from "./modal";
8
8
  export * from "./useSiderVisible";
9
+ export * from "./useThemedLayoutContext";
@@ -1,22 +1,29 @@
1
1
  import { useContext } from "react";
2
2
 
3
3
  import { ThemedLayoutContext } from "@contexts";
4
- import { IThemedLayoutContext } from "@contexts/themedLayoutContext/IThemedLayoutContext";
5
4
 
6
- export type UseSiderVisibleType = IThemedLayoutContext;
5
+ export type UseSiderVisibleType = {
6
+ siderVisible: boolean;
7
+ drawerSiderVisible: boolean;
8
+ setSiderVisible: (visible: boolean) => void;
9
+ setDrawerSiderVisible: (visible: boolean) => void;
10
+ };
7
11
 
12
+ /**
13
+ * @deprecated Please use `useThemedLayoutContext` instead.
14
+ */
8
15
  export const useSiderVisible = (): UseSiderVisibleType => {
9
16
  const {
10
- siderVisible,
11
- setSiderVisible,
12
- drawerSiderVisible,
13
- setDrawerSiderVisible,
17
+ mobileSiderOpen,
18
+ siderCollapsed,
19
+ setMobileSiderOpen,
20
+ setSiderCollapsed,
14
21
  } = useContext(ThemedLayoutContext);
15
22
 
16
23
  return {
17
- siderVisible,
18
- setSiderVisible,
19
- drawerSiderVisible,
20
- setDrawerSiderVisible,
24
+ siderVisible: mobileSiderOpen,
25
+ setSiderVisible: setMobileSiderOpen,
26
+ drawerSiderVisible: siderCollapsed,
27
+ setDrawerSiderVisible: setSiderCollapsed,
21
28
  };
22
29
  };
@@ -0,0 +1,22 @@
1
+ import { useContext } from "react";
2
+
3
+ import { ThemedLayoutContext } from "@contexts";
4
+ import { IThemedLayoutContext } from "@contexts/themedLayoutContext/IThemedLayoutContext";
5
+
6
+ export type UseThemedLayoutContextType = IThemedLayoutContext;
7
+
8
+ export const useThemedLayoutContext = (): UseThemedLayoutContextType => {
9
+ const {
10
+ mobileSiderOpen,
11
+ siderCollapsed,
12
+ setMobileSiderOpen,
13
+ setSiderCollapsed,
14
+ } = useContext(ThemedLayoutContext);
15
+
16
+ return {
17
+ mobileSiderOpen,
18
+ siderCollapsed,
19
+ setMobileSiderOpen,
20
+ setSiderCollapsed,
21
+ };
22
+ };