@refinedev/antd 5.5.2 → 5.7.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.
Files changed (90) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/dist/components/index.d.ts +5 -0
  3. package/dist/components/index.d.ts.map +1 -1
  4. package/dist/components/themedLayout/header/index.d.ts +3 -0
  5. package/dist/components/themedLayout/header/index.d.ts.map +1 -1
  6. package/dist/components/themedLayout/index.d.ts +3 -0
  7. package/dist/components/themedLayout/index.d.ts.map +1 -1
  8. package/dist/components/themedLayout/sider/index.d.ts +3 -0
  9. package/dist/components/themedLayout/sider/index.d.ts.map +1 -1
  10. package/dist/components/themedLayout/title/index.d.ts +3 -0
  11. package/dist/components/themedLayout/title/index.d.ts.map +1 -1
  12. package/dist/components/themedLayoutV2/header/index.d.ts +4 -0
  13. package/dist/components/themedLayoutV2/header/index.d.ts.map +1 -0
  14. package/dist/components/themedLayoutV2/index.d.ts +4 -0
  15. package/dist/components/themedLayoutV2/index.d.ts.map +1 -0
  16. package/dist/components/themedLayoutV2/sider/index.d.ts +4 -0
  17. package/dist/components/themedLayoutV2/sider/index.d.ts.map +1 -0
  18. package/dist/components/themedLayoutV2/sider/styles.d.ts +3 -0
  19. package/dist/components/themedLayoutV2/sider/styles.d.ts.map +1 -0
  20. package/dist/components/themedLayoutV2/title/index.d.ts +4 -0
  21. package/dist/components/themedLayoutV2/title/index.d.ts.map +1 -0
  22. package/dist/components/themedLayoutV2/types.d.ts +3 -0
  23. package/dist/components/themedLayoutV2/types.d.ts.map +1 -0
  24. package/dist/contexts/index.d.ts +2 -0
  25. package/dist/contexts/index.d.ts.map +1 -0
  26. package/dist/contexts/themedLayoutContext/IThemedLayoutContext.d.ts +7 -0
  27. package/dist/contexts/themedLayoutContext/IThemedLayoutContext.d.ts.map +1 -0
  28. package/dist/contexts/themedLayoutContext/index.d.ts +7 -0
  29. package/dist/contexts/themedLayoutContext/index.d.ts.map +1 -0
  30. package/dist/esm/index.js +1 -1
  31. package/dist/esm/index.js.map +1 -1
  32. package/dist/hooks/fields/useCheckboxGroup/index.d.ts +11 -9
  33. package/dist/hooks/fields/useCheckboxGroup/index.d.ts.map +1 -1
  34. package/dist/hooks/fields/useRadioGroup/index.d.ts +11 -9
  35. package/dist/hooks/fields/useRadioGroup/index.d.ts.map +1 -1
  36. package/dist/hooks/fields/useSelect/index.d.ts +5 -3
  37. package/dist/hooks/fields/useSelect/index.d.ts.map +1 -1
  38. package/dist/hooks/form/useDrawerForm/useDrawerForm.d.ts +3 -3
  39. package/dist/hooks/form/useDrawerForm/useDrawerForm.d.ts.map +1 -1
  40. package/dist/hooks/form/useForm.d.ts +3 -3
  41. package/dist/hooks/form/useForm.d.ts.map +1 -1
  42. package/dist/hooks/form/useModalForm/useModalForm.d.ts +3 -3
  43. package/dist/hooks/form/useModalForm/useModalForm.d.ts.map +1 -1
  44. package/dist/hooks/form/useStepsForm/useStepsForm.d.ts +3 -3
  45. package/dist/hooks/form/useStepsForm/useStepsForm.d.ts.map +1 -1
  46. package/dist/hooks/index.d.ts +1 -0
  47. package/dist/hooks/index.d.ts.map +1 -1
  48. package/dist/hooks/list/useSimpleList/useSimpleList.d.ts +6 -5
  49. package/dist/hooks/list/useSimpleList/useSimpleList.d.ts.map +1 -1
  50. package/dist/hooks/table/useEditableTable/useEditableTable.d.ts +12 -5
  51. package/dist/hooks/table/useEditableTable/useEditableTable.d.ts.map +1 -1
  52. package/dist/hooks/table/useTable/useTable.d.ts +9 -3
  53. package/dist/hooks/table/useTable/useTable.d.ts.map +1 -1
  54. package/dist/hooks/useSiderVisible/index.d.ts +4 -0
  55. package/dist/hooks/useSiderVisible/index.d.ts.map +1 -0
  56. package/dist/iife/index.js +12 -6
  57. package/dist/iife/index.js.map +1 -1
  58. package/dist/index.d.ts +1 -0
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +1 -1
  61. package/dist/index.js.map +1 -1
  62. package/package.json +4 -4
  63. package/refine.config.js +122 -1
  64. package/src/components/index.ts +6 -0
  65. package/src/components/themedLayout/header/index.tsx +3 -0
  66. package/src/components/themedLayout/index.tsx +3 -0
  67. package/src/components/themedLayout/sider/index.tsx +3 -0
  68. package/src/components/themedLayout/title/index.tsx +3 -0
  69. package/src/components/themedLayoutV2/header/index.tsx +44 -0
  70. package/src/components/themedLayoutV2/index.tsx +44 -0
  71. package/src/components/themedLayoutV2/sider/index.tsx +324 -0
  72. package/src/components/themedLayoutV2/sider/styles.ts +9 -0
  73. package/src/components/themedLayoutV2/title/index.tsx +85 -0
  74. package/src/components/themedLayoutV2/types.ts +13 -0
  75. package/src/contexts/index.ts +4 -0
  76. package/src/contexts/themedLayoutContext/IThemedLayoutContext.ts +6 -0
  77. package/src/contexts/themedLayoutContext/index.tsx +28 -0
  78. package/src/hooks/fields/useCheckboxGroup/index.ts +20 -13
  79. package/src/hooks/fields/useRadioGroup/index.ts +20 -13
  80. package/src/hooks/fields/useSelect/index.ts +8 -4
  81. package/src/hooks/form/useDrawerForm/useDrawerForm.ts +11 -7
  82. package/src/hooks/form/useForm.ts +15 -6
  83. package/src/hooks/form/useModalForm/useModalForm.ts +13 -9
  84. package/src/hooks/form/useStepsForm/useStepsForm.ts +13 -8
  85. package/src/hooks/index.ts +1 -0
  86. package/src/hooks/list/useSimpleList/useSimpleList.ts +12 -8
  87. package/src/hooks/table/useEditableTable/useEditableTable.ts +30 -13
  88. package/src/hooks/table/useTable/useTable.ts +21 -14
  89. package/src/hooks/useSiderVisible/index.ts +22 -0
  90. package/src/index.tsx +1 -0
@@ -0,0 +1,85 @@
1
+ import React from "react";
2
+ import { useRouterContext, useRouterType, useLink } from "@refinedev/core";
3
+ import { Typography, theme, Space } from "antd";
4
+ import { RefineLayoutThemedTitleProps } from "../types";
5
+
6
+ const { useToken } = theme;
7
+
8
+ const defaultText = "refine Project";
9
+
10
+ const defaultIcon = (
11
+ <svg
12
+ width="24"
13
+ height="24"
14
+ viewBox="0 0 24 24"
15
+ fill="none"
16
+ xmlns="http://www.w3.org/2000/svg"
17
+ data-testid="refine-logo"
18
+ >
19
+ <path
20
+ d="M12 9C13.6569 9 15 7.65685 15 6C15 4.34315 13.6569 3 12 3C10.3431 3 9 4.34315 9 6C9 7.65685 10.3431 9 12 9Z"
21
+ fill="currentColor"
22
+ />
23
+ <path
24
+ fillRule="evenodd"
25
+ clipRule="evenodd"
26
+ d="M24 12C24 18.6274 18.6274 24 12 24C5.37258 24 0 18.6274 0 12C0 5.37258 5.37258 0 12 0C18.6274 0 24 5.37258 24 12ZM8 6C8 3.79086 9.79086 2 12 2C14.2091 2 16 3.79086 16 6V18C16 20.2091 14.2091 22 12 22C9.79086 22 8 20.2091 8 18V6Z"
27
+ fill="currentColor"
28
+ />
29
+ </svg>
30
+ );
31
+
32
+ export const ThemedTitleV2: React.FC<RefineLayoutThemedTitleProps> = ({
33
+ collapsed,
34
+ icon = defaultIcon,
35
+ text = defaultText,
36
+ wrapperStyles,
37
+ }) => {
38
+ const { token } = useToken();
39
+ const routerType = useRouterType();
40
+ const Link = useLink();
41
+ const { Link: LegacyLink } = useRouterContext();
42
+
43
+ const ActiveLink = routerType === "legacy" ? LegacyLink : Link;
44
+
45
+ return (
46
+ <ActiveLink
47
+ to="/"
48
+ style={{
49
+ display: "inline-block",
50
+ textDecoration: "none",
51
+ }}
52
+ >
53
+ <Space
54
+ style={{
55
+ display: "flex",
56
+ alignItems: "center",
57
+ fontSize: "inherit",
58
+ ...wrapperStyles,
59
+ }}
60
+ >
61
+ <div
62
+ style={{
63
+ height: "24px",
64
+ width: "24px",
65
+ color: token.colorPrimary,
66
+ }}
67
+ >
68
+ {icon}
69
+ </div>
70
+
71
+ {!collapsed && (
72
+ <Typography.Title
73
+ style={{
74
+ fontSize: "inherit",
75
+ marginBottom: 0,
76
+ fontWeight: 700,
77
+ }}
78
+ >
79
+ {text}
80
+ </Typography.Title>
81
+ )}
82
+ </Space>
83
+ </ActiveLink>
84
+ );
85
+ };
@@ -0,0 +1,13 @@
1
+ import type {
2
+ RefineThemedLayoutV2SiderProps,
3
+ RefineThemedLayoutV2HeaderProps,
4
+ RefineThemedLayoutV2Props,
5
+ RefineLayoutThemedTitleProps,
6
+ } from "@refinedev/ui-types";
7
+
8
+ export type {
9
+ RefineLayoutThemedTitleProps,
10
+ RefineThemedLayoutV2SiderProps,
11
+ RefineThemedLayoutV2HeaderProps,
12
+ RefineThemedLayoutV2Props,
13
+ };
@@ -0,0 +1,4 @@
1
+ export {
2
+ ThemedLayoutContext,
3
+ ThemedLayoutContextProvider,
4
+ } from "./themedLayoutContext";
@@ -0,0 +1,6 @@
1
+ export interface IThemedLayoutContext {
2
+ siderVisible: boolean;
3
+ drawerSiderVisible: boolean;
4
+ setSiderVisible?: (visible: boolean) => void;
5
+ setDrawerSiderVisible?: (visible: boolean) => void;
6
+ }
@@ -0,0 +1,28 @@
1
+ import React, { ReactNode, useState } from "react";
2
+
3
+ import { IThemedLayoutContext } from "./IThemedLayoutContext";
4
+
5
+ export const ThemedLayoutContext = React.createContext<IThemedLayoutContext>({
6
+ siderVisible: false,
7
+ drawerSiderVisible: true,
8
+ });
9
+
10
+ export const ThemedLayoutContextProvider: React.FC<{ children: ReactNode }> = ({
11
+ children,
12
+ }) => {
13
+ const [siderVisible, setSiderVisible] = useState(false);
14
+ const [drawerSiderVisible, setDrawerSiderVisible] = useState(true);
15
+
16
+ return (
17
+ <ThemedLayoutContext.Provider
18
+ value={{
19
+ siderVisible,
20
+ drawerSiderVisible,
21
+ setSiderVisible,
22
+ setDrawerSiderVisible,
23
+ }}
24
+ >
25
+ {children}
26
+ </ThemedLayoutContext.Provider>
27
+ );
28
+ };
@@ -17,17 +17,8 @@ export type UseCheckboxGroupReturnType<TData extends BaseRecord = BaseRecord> =
17
17
  queryResult: QueryObserverResult<GetListResponse<TData>>;
18
18
  };
19
19
 
20
- /**
21
- * `useCheckboxGroup` hook allows you to manage an Ant Design {@link https://ant.design/components/checkbox/#components-checkbox-demo-group Checkbox.Group} component when records in a resource needs to be used as checkbox options.
22
- *
23
- * @see {@link https://refine.dev/docs/ui-framewors/antd/hooks/field/useCheckboxGroup} for more details.
24
- *
25
- * @typeParam TData - Result data of the query extends {@link https://refine.dev/docs/api-references/interfaceReferences#baserecord `BaseRecord`}
26
- *
27
- */
28
-
29
- type UseCheckboxGroupProps<TData, TError> = Omit<
30
- UseSelectProps<TData, TError>,
20
+ type UseCheckboxGroupProps<TQueryFnData, TError, TData> = Omit<
21
+ UseSelectProps<TQueryFnData, TError, TData>,
31
22
  "defaultValue"
32
23
  > & {
33
24
  /**
@@ -36,9 +27,21 @@ type UseCheckboxGroupProps<TData, TError> = Omit<
36
27
  defaultValue?: BaseKey[];
37
28
  };
38
29
 
30
+ /**
31
+ * `useCheckboxGroup` hook allows you to manage an Ant Design {@link https://ant.design/components/checkbox/#components-checkbox-demo-group Checkbox.Group} component when records in a resource needs to be used as checkbox options.
32
+ *
33
+ * @see {@link https://refine.dev/docs/api-reference/antd/hooks/field/useCheckboxGroup/} for more details
34
+ *
35
+ * @typeParam TQueryFnData - Result data returned by the query function. Extends {@link https://refine.dev/docs/api-reference/core/interfaceReferences#baserecord `BaseRecord`}
36
+ * @typeParam TError - Custom error object that extends {@link https://refine.dev/docs/api-reference/core/interfaceReferences#httperror `HttpError`}
37
+ * @typeParam TData - Result data returned by the `select` function. Extends {@link https://refine.dev/docs/api-reference/core/interfaceReferences#baserecord `BaseRecord`}. Defaults to `TQueryFnData`
38
+ *
39
+ */
40
+
39
41
  export const useCheckboxGroup = <
40
- TData extends BaseRecord = BaseRecord,
42
+ TQueryFnData extends BaseRecord = BaseRecord,
41
43
  TError extends HttpError = HttpError,
44
+ TData extends BaseRecord = TQueryFnData,
42
45
  >({
43
46
  resource,
44
47
  sort,
@@ -56,7 +59,11 @@ export const useCheckboxGroup = <
56
59
  meta,
57
60
  metaData,
58
61
  dataProviderName,
59
- }: UseCheckboxGroupProps<TData, TError>): UseCheckboxGroupReturnType<TData> => {
62
+ }: UseCheckboxGroupProps<
63
+ TQueryFnData,
64
+ TError,
65
+ TData
66
+ >): UseCheckboxGroupReturnType<TData> => {
60
67
  const { queryResult, options } = useSelect({
61
68
  resource,
62
69
  sort,
@@ -16,17 +16,8 @@ export type UseRadioGroupReturnType<TData extends BaseRecord = BaseRecord> = {
16
16
  queryResult: QueryObserverResult<GetListResponse<TData>>;
17
17
  };
18
18
 
19
- /**
20
- * `useRadioGroup` hook allows you to manage an Ant Design {@link https://ant.design/components/radio/#components-radio-demo-radiogroup-with-name Radio.Group} component when records in a resource needs to be used as radio options.
21
- *
22
- * @see {@link https://refine.dev/docs/ui-frameworks/antd/hooks/field/useRadioGroup} for more details.
23
- *
24
- * @typeParam TData - Result data of the query extends {@link https://refine.dev/docs/core/interfaceReferences#baserecord `BaseRecord`}
25
- *
26
- */
27
-
28
- type UseRadioGroupProps<TData, TError> = Omit<
29
- UseSelectProps<TData, TError>,
19
+ type UseRadioGroupProps<TQueryFnData, TError, TData> = Omit<
20
+ UseSelectProps<TQueryFnData, TError, TData>,
30
21
  "defaultValue"
31
22
  > & {
32
23
  /**
@@ -35,9 +26,21 @@ type UseRadioGroupProps<TData, TError> = Omit<
35
26
  defaultValue?: BaseKey;
36
27
  };
37
28
 
29
+ /**
30
+ * `useRadioGroup` hook allows you to manage an Ant Design {@link https://ant.design/components/radio/#components-radio-demo-radiogroup-with-name Radio.Group} component when records in a resource needs to be used as radio options.
31
+ *
32
+ * @see {@link https://refine.dev/docs/api-reference/antd/hooks/field/useRadioGroup/} for more details.
33
+ *
34
+ * @typeParam TQueryFnData - Result data returned by the query function. Extends {@link https://refine.dev/docs/api-reference/core/interfaceReferences#baserecord `BaseRecord`}
35
+ * @typeParam TError - Custom error object that extends {@link https://refine.dev/docs/api-reference/core/interfaceReferences#httperror `HttpError`}
36
+ * @typeParam TData - Result data returned by the `select` function. Extends {@link https://refine.dev/docs/api-reference/core/interfaceReferences#baserecord `BaseRecord`}. Defaults to `TQueryFnData`
37
+ *
38
+ */
39
+
38
40
  export const useRadioGroup = <
39
- TData extends BaseRecord = BaseRecord,
41
+ TQueryFnData extends BaseRecord = BaseRecord,
40
42
  TError extends HttpError = HttpError,
43
+ TData extends BaseRecord = TQueryFnData,
41
44
  >({
42
45
  resource,
43
46
  sort,
@@ -55,7 +58,11 @@ export const useRadioGroup = <
55
58
  meta,
56
59
  metaData,
57
60
  dataProviderName,
58
- }: UseRadioGroupProps<TData, TError>): UseRadioGroupReturnType<TData> => {
61
+ }: UseRadioGroupProps<
62
+ TQueryFnData,
63
+ TError,
64
+ TData
65
+ >): UseRadioGroupReturnType<TData> => {
59
66
  const { queryResult, options } = useSelect({
60
67
  resource,
61
68
  sort,
@@ -19,16 +19,20 @@ export type UseSelectReturnType<TData extends BaseRecord = BaseRecord> = {
19
19
  /**
20
20
  * `useSelect` hook allows you to manage an Ant Design {@link https://ant.design/components/select/ Select} component when records in a resource needs to be used as select options.
21
21
  *
22
- * @see {@link https://refine.dev/docs/api-references/hooks/field/useSelect} for more details.
22
+ * @see {@link https://refine.dev/docs/api-reference/antd/hooks/field/useSelect/} for more details.
23
23
  *
24
- * @typeParam TData - Result data of the query extends {@link https://refine.dev/docs/api-references/interfaceReferences#baserecord `BaseRecord`}
24
+ * @typeParam TQueryFnData - Result data returned by the query function. Extends {@link https://refine.dev/docs/api-reference/core/interfaceReferences#baserecord `BaseRecord`}
25
+ * @typeParam TError - Custom error object that extends {@link https://refine.dev/docs/api-reference/core/interfaceReferences#httperror `HttpError`}
26
+ * @typeParam TData - Result data returned by the `select` function. Extends {@link https://refine.dev/docs/api-reference/core/interfaceReferences#baserecord `BaseRecord`}. Defaults to `TQueryFnData`
25
27
  *
26
28
  */
29
+
27
30
  export const useSelect = <
28
- TData extends BaseRecord = BaseRecord,
31
+ TQueryFnData extends BaseRecord = BaseRecord,
29
32
  TError extends HttpError = HttpError,
33
+ TData extends BaseRecord = TQueryFnData,
30
34
  >(
31
- props: UseSelectProps<TData, TError>,
35
+ props: UseSelectProps<TQueryFnData, TError, TData>,
32
36
  ): UseSelectReturnType<TData> => {
33
37
  const { queryResult, defaultValueQueryResult, onSearch, options } =
34
38
  useSelectCore(props);
@@ -27,8 +27,9 @@ export type UseDrawerFormProps<
27
27
  TData extends BaseRecord = BaseRecord,
28
28
  TError extends HttpError = HttpError,
29
29
  TVariables = {},
30
- > = UseFormPropsCore<TData, TError, TVariables> &
31
- UseFormProps<TData, TError, TVariables> &
30
+ TSelectData extends BaseRecord = TData,
31
+ > = UseFormPropsCore<TData, TError, TVariables, TSelectData> &
32
+ UseFormProps<TData, TError, TVariables, TSelectData> &
32
33
  UseDrawerFormConfig &
33
34
  LiveModeProps &
34
35
  FormWithSyncWithLocationParams & {
@@ -41,7 +42,8 @@ export type UseDrawerFormReturnType<
41
42
  TData extends BaseRecord = BaseRecord,
42
43
  TError extends HttpError = HttpError,
43
44
  TVariables = {},
44
- > = UseFormReturnType<TData, TError, TVariables> & {
45
+ TSelectData extends BaseRecord = TData,
46
+ > = UseFormReturnType<TData, TError, TVariables, TSelectData> & {
45
47
  formProps: FormProps<TVariables> & {
46
48
  form: FormInstance<TVariables>;
47
49
  };
@@ -69,24 +71,26 @@ export const useDrawerForm = <
69
71
  TData extends BaseRecord = BaseRecord,
70
72
  TError extends HttpError = HttpError,
71
73
  TVariables = {},
74
+ TSelectData extends BaseRecord = TData,
72
75
  >({
73
76
  syncWithLocation,
74
77
  defaultVisible = false,
75
78
  autoSubmitClose = true,
76
79
  autoResetForm = true,
77
80
  ...rest
78
- }: UseDrawerFormProps<TData, TError, TVariables>): UseDrawerFormReturnType<
81
+ }: UseDrawerFormProps<
79
82
  TData,
80
83
  TError,
81
- TVariables
82
- > => {
84
+ TVariables,
85
+ TSelectData
86
+ >): UseDrawerFormReturnType<TData, TError, TVariables, TSelectData> => {
83
87
  const initiallySynced = React.useRef(false);
84
88
 
85
89
  const { visible, show, close } = useModal({
86
90
  defaultVisible,
87
91
  });
88
92
 
89
- const useFormProps = useForm<TData, TError, TVariables>({
93
+ const useFormProps = useForm<TData, TError, TVariables, TSelectData>({
90
94
  ...rest,
91
95
  });
92
96
 
@@ -19,7 +19,8 @@ export type UseFormProps<
19
19
  TData extends BaseRecord = BaseRecord,
20
20
  TError extends HttpError = HttpError,
21
21
  TVariables = {},
22
- > = UseFormPropsCore<TData, TError, TVariables> & {
22
+ TSelectData extends BaseRecord = TData,
23
+ > = UseFormPropsCore<TData, TError, TVariables, TSelectData> & {
23
24
  submitOnEnter?: boolean;
24
25
  /**
25
26
  * Shows notification when unsaved changes exist
@@ -31,7 +32,8 @@ export type UseFormReturnType<
31
32
  TData extends BaseRecord = BaseRecord,
32
33
  TError extends HttpError = HttpError,
33
34
  TVariables = {},
34
- > = UseFormReturnTypeCore<TData, TError, TVariables> & {
35
+ TSelectData extends BaseRecord = TData,
36
+ > = UseFormReturnTypeCore<TData, TError, TVariables, TSelectData> & {
35
37
  form: FormInstance<TVariables>;
36
38
  formProps: FormProps<TVariables>;
37
39
  saveButtonProps: ButtonProps & {
@@ -57,6 +59,7 @@ export const useForm = <
57
59
  TData extends BaseRecord = BaseRecord,
58
60
  TError extends HttpError = HttpError,
59
61
  TVariables = {},
62
+ TSelectData extends BaseRecord = TData,
60
63
  >({
61
64
  action,
62
65
  resource,
@@ -80,18 +83,24 @@ export const useForm = <
80
83
  createMutationOptions,
81
84
  updateMutationOptions,
82
85
  id: idFromProps,
83
- }: UseFormProps<TData, TError, TVariables> = {}): UseFormReturnType<
86
+ }: UseFormProps<
84
87
  TData,
85
88
  TError,
86
- TVariables
87
- > => {
89
+ TVariables,
90
+ TSelectData
91
+ > = {}): UseFormReturnType<TData, TError, TVariables, TSelectData> => {
88
92
  const [formAnt] = Form.useForm();
89
93
  const formSF = useFormSF<TData, TVariables>({
90
94
  form: formAnt,
91
95
  });
92
96
  const { form } = formSF;
93
97
 
94
- const useFormCoreResult = useFormCore<TData, TError, TVariables>({
98
+ const useFormCoreResult = useFormCore<
99
+ TData,
100
+ TError,
101
+ TVariables,
102
+ TSelectData
103
+ >({
95
104
  onMutationSuccess: onMutationSuccessProp
96
105
  ? onMutationSuccessProp
97
106
  : undefined,
@@ -46,18 +46,20 @@ export type UseModalFormReturnType<
46
46
  TData extends BaseRecord = BaseRecord,
47
47
  TError extends HttpError = HttpError,
48
48
  TVariables = {},
49
+ TSelectData extends BaseRecord = TData,
49
50
  > = Omit<
50
- UseFormReturnType<TData, TError, TVariables>,
51
+ UseFormReturnType<TData, TError, TVariables, TSelectData>,
51
52
  "saveButtonProps" | "deleteButtonProps"
52
53
  > &
53
- useModalFormFromSFReturnType<TData, TVariables>;
54
+ useModalFormFromSFReturnType<TSelectData, TVariables>;
54
55
 
55
56
  export type UseModalFormProps<
56
57
  TData extends BaseRecord = BaseRecord,
57
58
  TError extends HttpError = HttpError,
58
59
  TVariables = {},
59
- > = UseFormPropsCore<TData, TError, TVariables> &
60
- UseFormProps<TData, TError, TVariables> &
60
+ TSelectData extends BaseRecord = TData,
61
+ > = UseFormPropsCore<TData, TError, TVariables, TSelectData> &
62
+ UseFormProps<TData, TError, TVariables, TSelectData> &
61
63
  UseModalFormConfigSF &
62
64
  useModalFormConfig &
63
65
  LiveModeProps &
@@ -77,17 +79,19 @@ export const useModalForm = <
77
79
  TData extends BaseRecord = BaseRecord,
78
80
  TError extends HttpError = HttpError,
79
81
  TVariables = {},
82
+ TSelectData extends BaseRecord = TData,
80
83
  >({
81
84
  syncWithLocation,
82
85
  ...rest
83
- }: UseModalFormProps<TData, TError, TVariables>): UseModalFormReturnType<
86
+ }: UseModalFormProps<
84
87
  TData,
85
88
  TError,
86
- TVariables
87
- > => {
89
+ TVariables,
90
+ TSelectData
91
+ >): UseModalFormReturnType<TData, TError, TVariables, TSelectData> => {
88
92
  const initiallySynced = React.useRef(false);
89
93
 
90
- const useFormProps = useForm<TData, TError, TVariables>({
94
+ const useFormProps = useForm<TData, TError, TVariables, TSelectData>({
91
95
  ...rest,
92
96
  });
93
97
 
@@ -114,7 +118,7 @@ export const useModalForm = <
114
118
 
115
119
  const { warnWhen, setWarnWhen } = useWarnAboutChange();
116
120
 
117
- const sunflowerUseModal = useModalFormSF<TData, TVariables>({
121
+ const sunflowerUseModal = useModalFormSF<TSelectData, TVariables>({
118
122
  ...rest,
119
123
  form: form,
120
124
  submit: onFinish as any,
@@ -33,15 +33,17 @@ export type UseStepsFormReturnType<
33
33
  TData extends BaseRecord = BaseRecord,
34
34
  TError extends HttpError = HttpError,
35
35
  TVariables = {},
36
- > = UseFormReturnType<TData, TError, TVariables> &
37
- UseStepsFormFromSFReturnType<TData, TVariables>;
36
+ TSelectData extends BaseRecord = TData,
37
+ > = UseFormReturnType<TData, TError, TVariables, TSelectData> &
38
+ UseStepsFormFromSFReturnType<TSelectData, TVariables>;
38
39
 
39
40
  export type UseStepsFormProps<
40
41
  TData extends BaseRecord = BaseRecord,
41
42
  TError extends HttpError = HttpError,
42
43
  TVariables = {},
43
- > = UseFormPropsCore<TData, TError, TVariables> &
44
- UseFormProps<TData, TError, TVariables> &
44
+ TSelectData extends BaseRecord = TData,
45
+ > = UseFormPropsCore<TData, TError, TVariables, TSelectData> &
46
+ UseFormProps<TData, TError, TVariables, TSelectData> &
45
47
  UseStepsFormConfig;
46
48
 
47
49
  /**
@@ -59,13 +61,16 @@ export const useStepsForm = <
59
61
  TData extends BaseRecord = BaseRecord,
60
62
  TError extends HttpError = HttpError,
61
63
  TVariables = {},
64
+ TSelectData extends BaseRecord = TData,
62
65
  >(
63
- props: UseStepsFormProps<TData, TError, TVariables> = {},
64
- ): UseStepsFormReturnType<TData, TError, TVariables> => {
65
- const useFormProps = useForm<TData, TError, TVariables>({ ...props });
66
+ props: UseStepsFormProps<TData, TError, TVariables, TSelectData> = {},
67
+ ): UseStepsFormReturnType<TData, TError, TVariables, TSelectData> => {
68
+ const useFormProps = useForm<TData, TError, TVariables, TSelectData>({
69
+ ...props,
70
+ });
66
71
  const { form, formProps } = useFormProps;
67
72
 
68
- const stepsPropsSunflower = useStepsFormSF<TData, TVariables>({
73
+ const stepsPropsSunflower = useStepsFormSF<TSelectData, TVariables>({
69
74
  isBackValidate: false,
70
75
  form: form,
71
76
  submit: (values: any) => {
@@ -5,3 +5,4 @@ export * from "./import";
5
5
  export * from "./list";
6
6
  export * from "./useFileUploadState";
7
7
  export * from "./modal";
8
+ export * from "./useSiderVisible";
@@ -14,16 +14,17 @@ import { useLiveMode } from "@refinedev/core";
14
14
  import { PaginationLink } from "@hooks/table/useTable/paginationLink";
15
15
  import { PaginationConfig } from "antd/lib/pagination";
16
16
 
17
- export type useSimpleListProps<TData, TError, TSearchVariables> =
18
- useTablePropsCore<TData, TError> & {
17
+ export type useSimpleListProps<TQueryFnData, TError, TSearchVariables, TData> =
18
+ useTablePropsCore<TQueryFnData, TError, TData> & {
19
19
  onSearch?: (
20
20
  data: TSearchVariables,
21
21
  ) => CrudFilters | Promise<CrudFilters>;
22
22
  };
23
23
 
24
24
  export type useSimpleListReturnType<
25
- TData extends BaseRecord = BaseRecord,
25
+ TQueryFnData extends BaseRecord = BaseRecord,
26
26
  TSearchVariables = unknown,
27
+ TData extends BaseRecord = TQueryFnData,
27
28
  > = Omit<useTableReturnType<TData>, "tableQueryResult"> & {
28
29
  listProps: ListProps<TData>;
29
30
  queryResult: useTableReturnType["tableQueryResult"];
@@ -36,16 +37,18 @@ export type useSimpleListReturnType<
36
37
  *
37
38
  * @see {@link https://refine.dev/docs/ui-frameworks/antd/hooks/list/useSimpleList} for more details.
38
39
  *
39
- * @typeParam TData - Result data of the query extends {@link https://refine.dev/docs/api-references/interfaceReferences#baserecord `BaseRecord`}
40
- * @typeParam TError - Custom error object that extends {@link https://refine.dev/docs/api-references/interfaceReferences#httperror `HttpError`}
40
+ * @typeParam TQueryFnData - Result data returned by the query function. Extends {@link https://refine.dev/docs/api-reference/core/interfaceReferences#baserecord `BaseRecord`}
41
+ * @typeParam TError - Custom error object that extends {@link https://refine.dev/docs/api-reference/core/interfaceReferences#httperror `HttpError`}
41
42
  * @typeParam TSearchVariables - Antd form values
43
+ * @typeParam TData - Result data returned by the `select` function. Extends {@link https://refine.dev/docs/api-reference/core/interfaceReferences#baserecord `BaseRecord`}. Defaults to `TQueryFnData`
42
44
  *
43
45
  */
44
46
 
45
47
  export const useSimpleList = <
46
- TData extends BaseRecord = BaseRecord,
48
+ TQueryFnData extends BaseRecord = BaseRecord,
47
49
  TError extends HttpError = HttpError,
48
50
  TSearchVariables = unknown,
51
+ TData extends BaseRecord = TQueryFnData,
49
52
  >({
50
53
  resource,
51
54
  initialCurrent,
@@ -71,9 +74,10 @@ export const useSimpleList = <
71
74
  metaData,
72
75
  dataProviderName,
73
76
  }: useSimpleListProps<
74
- TData,
77
+ TQueryFnData,
75
78
  TError,
76
- TSearchVariables
79
+ TSearchVariables,
80
+ TData
77
81
  > = {}): useSimpleListReturnType<TData, TSearchVariables> => {
78
82
  const {
79
83
  sorters,
@@ -6,12 +6,13 @@ import { useTableProps, useTableReturnType } from "../useTable";
6
6
  import { UseFormReturnType, useForm } from "../../form/useForm";
7
7
 
8
8
  export type useEditableTableReturnType<
9
- TData extends BaseRecord = BaseRecord,
9
+ TQueryFnData extends BaseRecord = BaseRecord,
10
10
  TError extends HttpError = HttpError,
11
11
  TVariables = {},
12
12
  TSearchVariables = unknown,
13
+ TData extends BaseRecord = TQueryFnData,
13
14
  > = useTableReturnType<TData, TError, TSearchVariables> &
14
- UseFormReturnType<TData, TError, TVariables> & {
15
+ UseFormReturnType<TQueryFnData, TError, TVariables> & {
15
16
  saveButtonProps: ButtonProps & {
16
17
  onClick: () => void;
17
18
  };
@@ -25,43 +26,59 @@ export type useEditableTableReturnType<
25
26
  };
26
27
 
27
28
  type useEditableTableProps<
28
- TData extends BaseRecord = BaseRecord,
29
+ TQueryFnData extends BaseRecord = BaseRecord,
29
30
  TError extends HttpError = HttpError,
30
31
  TVariables = {},
31
32
  TSearchVariables = unknown,
33
+ TData extends BaseRecord = TQueryFnData,
32
34
  > = Omit<
33
- useTableProps<TData, TError, TSearchVariables>,
35
+ useTableProps<TQueryFnData, TError, TSearchVariables, TData>,
34
36
  "successNotification" | "errorNotification"
35
37
  > &
36
- UseFormProps<TData, TError, TVariables>;
38
+ UseFormProps<TQueryFnData, TError, TVariables>;
37
39
 
38
40
  /**
39
41
  * `useEditeableTable` allows you to implement edit feature on the table with ease,
40
- * on top of all the features that {@link https://refine.dev/docs/api-references/hooks/table/useTable `useTable`} provides.
42
+ * on top of all the features that {@link https://refine.dev/docs/api-reference/core/hooks/useTable/ `useTable`} provides.
41
43
  * `useEditableTable` return properties that can be used on Ant Design's {@link https://ant.design/components/table/ `<Table>`}
42
44
  * and {@link https://ant.design/components/form/ `<Form>`} components.
43
45
  *
44
- * @see {@link https://refine.dev/docs/ui-frameworks/antd/hooks/table/useEditableTable} for more details.
46
+ * @see {@link https://refine.dev/docs/api-reference/antd/hooks/table/useTable/} for more details.
47
+ *
48
+ * @typeParam TQueryFnData - Result data returned by the query function. Extends {@link https://refine.dev/docs/api-reference/core/interfaceReferences#baserecord `BaseRecord`}
49
+ * @typeParam TError - Custom error object that extends {@link https://refine.dev/docs/api-reference/core/interfaceReferences#httperror `HttpError`}
50
+ * @typeParam TVariables - Values for params
51
+ * @typeParam TSearchVariables - Values for search params
52
+ * @typeParam TData - Result data returned by the `select` function. Extends {@link https://refine.dev/docs/api-reference/core/interfaceReferences#baserecord `BaseRecord`}. Defaults to `TQueryFnData`
53
+ *
45
54
  */
46
55
  export const useEditableTable = <
47
- TData extends BaseRecord = BaseRecord,
56
+ TQueryFnData extends BaseRecord = BaseRecord,
48
57
  TError extends HttpError = HttpError,
49
58
  TVariables = {},
50
59
  TSearchVariables = unknown,
60
+ TData extends BaseRecord = TQueryFnData,
51
61
  >(
52
62
  props: useEditableTableProps<
53
- TData,
63
+ TQueryFnData,
54
64
  TError,
55
65
  TVariables,
56
- TSearchVariables
66
+ TSearchVariables,
67
+ TData
57
68
  > = {},
58
- ): useEditableTableReturnType<TData, TError, TVariables, TSearchVariables> => {
59
- const table = useTable<TData, TError, TSearchVariables>({
69
+ ): useEditableTableReturnType<
70
+ TQueryFnData,
71
+ TError,
72
+ TVariables,
73
+ TSearchVariables,
74
+ TData
75
+ > => {
76
+ const table = useTable<TQueryFnData, TError, TSearchVariables, TData>({
60
77
  ...props,
61
78
  successNotification: undefined,
62
79
  errorNotification: undefined,
63
80
  });
64
- const edit = useForm<TData, TError, TVariables>({
81
+ const edit = useForm<TQueryFnData, TError, TVariables>({
65
82
  ...props,
66
83
  action: "edit",
67
84
  redirect: false,