@refinedev/antd 5.37.4 → 5.37.5

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 (162) hide show
  1. package/CHANGELOG.md +1760 -1778
  2. package/dist/components/autoSaveIndicator/index.d.ts.map +1 -1
  3. package/dist/components/breadcrumb/index.d.ts.map +1 -1
  4. package/dist/components/buttons/create/index.d.ts.map +1 -1
  5. package/dist/components/buttons/delete/index.d.ts.map +1 -1
  6. package/dist/components/buttons/import/index.d.ts.map +1 -1
  7. package/dist/components/buttons/types.d.ts.map +1 -1
  8. package/dist/components/crud/edit/index.d.ts.map +1 -1
  9. package/dist/components/crud/list/index.d.ts.map +1 -1
  10. package/dist/components/crud/show/index.d.ts.map +1 -1
  11. package/dist/components/crud/types.d.ts.map +1 -1
  12. package/dist/components/fields/types.d.ts.map +1 -1
  13. package/dist/components/layout/sider/index.d.ts.map +1 -1
  14. package/dist/components/layout/title/index.d.ts.map +1 -1
  15. package/dist/components/layout/types.d.ts.map +1 -1
  16. package/dist/components/pageHeader/index.d.ts.map +1 -1
  17. package/dist/components/pages/auth/components/forgotPassword/index.d.ts.map +1 -1
  18. package/dist/components/pages/auth/components/login/index.d.ts.map +1 -1
  19. package/dist/components/pages/auth/components/register/index.d.ts.map +1 -1
  20. package/dist/components/pages/auth/components/updatePassword/index.d.ts.map +1 -1
  21. package/dist/components/pages/auth/index.d.ts.map +1 -1
  22. package/dist/components/pages/login/index.d.ts.map +1 -1
  23. package/dist/components/pages/ready/index.d.ts.map +1 -1
  24. package/dist/components/table/components/filterDropdown/index.d.ts.map +1 -1
  25. package/dist/components/themedLayout/header/index.d.ts.map +1 -1
  26. package/dist/components/themedLayout/types.d.ts.map +1 -1
  27. package/dist/components/themedLayoutV2/header/index.d.ts.map +1 -1
  28. package/dist/components/themedLayoutV2/index.d.ts.map +1 -1
  29. package/dist/components/themedLayoutV2/sider/index.d.ts.map +1 -1
  30. package/dist/components/themedLayoutV2/types.d.ts.map +1 -1
  31. package/dist/components/undoableNotification/index.d.ts.map +1 -1
  32. package/dist/contexts/index.d.ts.map +1 -1
  33. package/dist/contexts/themedLayoutContext/IThemedLayoutContext.d.ts.map +1 -1
  34. package/dist/contexts/themedLayoutContext/index.d.ts.map +1 -1
  35. package/dist/definitions/table/index.d.ts.map +1 -1
  36. package/dist/definitions/themes/index.d.ts.map +1 -1
  37. package/dist/esm/index.js +1 -1
  38. package/dist/esm/index.js.map +1 -1
  39. package/dist/hooks/fields/useCheckboxGroup/index.d.ts.map +1 -1
  40. package/dist/hooks/fields/useRadioGroup/index.d.ts.map +1 -1
  41. package/dist/hooks/fields/useSelect/index.d.ts.map +1 -1
  42. package/dist/hooks/form/index.d.ts.map +1 -1
  43. package/dist/hooks/form/useDrawerForm/index.d.ts.map +1 -1
  44. package/dist/hooks/form/useDrawerForm/useDrawerForm.d.ts.map +1 -1
  45. package/dist/hooks/form/useForm.d.ts.map +1 -1
  46. package/dist/hooks/form/useModalForm/index.d.ts.map +1 -1
  47. package/dist/hooks/form/useModalForm/useModalForm.d.ts.map +1 -1
  48. package/dist/hooks/form/useStepsForm/index.d.ts.map +1 -1
  49. package/dist/hooks/form/useStepsForm/useStepsForm.d.ts.map +1 -1
  50. package/dist/hooks/import/index.d.ts.map +1 -1
  51. package/dist/hooks/list/useSimpleList/useSimpleList.d.ts.map +1 -1
  52. package/dist/hooks/modal/useModal/index.d.ts.map +1 -1
  53. package/dist/hooks/table/useEditableTable/useEditableTable.d.ts.map +1 -1
  54. package/dist/hooks/table/useTable/paginationLink.d.ts.map +1 -1
  55. package/dist/hooks/table/useTable/useTable.d.ts.map +1 -1
  56. package/dist/hooks/useFileUploadState/index.d.ts.map +1 -1
  57. package/dist/hooks/useSiderVisible/index.d.ts.map +1 -1
  58. package/dist/iife/index.js +10 -10
  59. package/dist/iife/index.js.map +1 -1
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +1 -1
  62. package/dist/index.js.map +1 -1
  63. package/dist/interfaces/field.d.ts.map +1 -1
  64. package/dist/interfaces/index.d.ts.map +1 -1
  65. package/dist/interfaces/upload.d.ts.map +1 -1
  66. package/package.json +32 -32
  67. package/refine.config.js +497 -524
  68. package/src/components/autoSaveIndicator/index.tsx +69 -69
  69. package/src/components/breadcrumb/index.tsx +63 -65
  70. package/src/components/buttons/clone/index.tsx +86 -86
  71. package/src/components/buttons/create/index.tsx +85 -86
  72. package/src/components/buttons/delete/index.tsx +114 -119
  73. package/src/components/buttons/edit/index.tsx +86 -86
  74. package/src/components/buttons/export/index.tsx +17 -17
  75. package/src/components/buttons/import/index.tsx +19 -20
  76. package/src/components/buttons/list/index.tsx +105 -105
  77. package/src/components/buttons/refresh/index.tsx +50 -50
  78. package/src/components/buttons/save/index.tsx +17 -17
  79. package/src/components/buttons/show/index.tsx +86 -86
  80. package/src/components/buttons/types.ts +20 -20
  81. package/src/components/crud/create/index.tsx +120 -120
  82. package/src/components/crud/edit/index.tsx +205 -207
  83. package/src/components/crud/list/index.tsx +88 -90
  84. package/src/components/crud/show/index.tsx +175 -185
  85. package/src/components/crud/types.ts +41 -56
  86. package/src/components/fields/boolean/index.tsx +11 -11
  87. package/src/components/fields/date/index.tsx +13 -13
  88. package/src/components/fields/email/index.tsx +5 -5
  89. package/src/components/fields/file/index.tsx +8 -8
  90. package/src/components/fields/image/index.tsx +4 -4
  91. package/src/components/fields/markdown/index.tsx +9 -9
  92. package/src/components/fields/number/index.tsx +17 -17
  93. package/src/components/fields/tag/index.tsx +1 -1
  94. package/src/components/fields/text/index.tsx +1 -1
  95. package/src/components/fields/types.ts +18 -18
  96. package/src/components/fields/url/index.tsx +8 -8
  97. package/src/components/layout/header/index.tsx +25 -25
  98. package/src/components/layout/index.tsx +30 -30
  99. package/src/components/layout/sider/index.tsx +238 -246
  100. package/src/components/layout/sider/styles.ts +5 -5
  101. package/src/components/layout/title/index.tsx +40 -40
  102. package/src/components/layout/types.ts +6 -6
  103. package/src/components/pageHeader/index.tsx +44 -44
  104. package/src/components/pages/auth/components/forgotPassword/index.tsx +177 -180
  105. package/src/components/pages/auth/components/login/index.tsx +258 -271
  106. package/src/components/pages/auth/components/register/index.tsx +247 -263
  107. package/src/components/pages/auth/components/styles.ts +16 -16
  108. package/src/components/pages/auth/components/updatePassword/index.tsx +160 -174
  109. package/src/components/pages/auth/index.tsx +23 -23
  110. package/src/components/pages/error/index.tsx +57 -57
  111. package/src/components/pages/login/index.tsx +120 -146
  112. package/src/components/pages/login/styles.ts +12 -12
  113. package/src/components/pages/ready/index.tsx +72 -80
  114. package/src/components/pages/welcome/index.tsx +1 -1
  115. package/src/components/table/components/filterDropdown/index.tsx +89 -92
  116. package/src/components/themedLayout/header/index.tsx +28 -32
  117. package/src/components/themedLayout/index.tsx +30 -30
  118. package/src/components/themedLayout/sider/index.tsx +279 -279
  119. package/src/components/themedLayout/sider/styles.ts +5 -5
  120. package/src/components/themedLayout/title/index.tsx +66 -66
  121. package/src/components/themedLayout/types.ts +8 -8
  122. package/src/components/themedLayoutV2/header/index.tsx +37 -41
  123. package/src/components/themedLayoutV2/index.tsx +34 -36
  124. package/src/components/themedLayoutV2/sider/index.tsx +309 -313
  125. package/src/components/themedLayoutV2/sider/styles.ts +5 -5
  126. package/src/components/themedLayoutV2/title/index.tsx +66 -66
  127. package/src/components/themedLayoutV2/types.ts +9 -9
  128. package/src/components/undoableNotification/index.tsx +31 -31
  129. package/src/contexts/index.ts +2 -2
  130. package/src/contexts/themedLayoutContext/IThemedLayoutContext.ts +4 -4
  131. package/src/contexts/themedLayoutContext/index.tsx +22 -22
  132. package/src/definitions/table/index.ts +81 -82
  133. package/src/definitions/themes/index.ts +35 -35
  134. package/src/definitions/upload/index.ts +17 -17
  135. package/src/hooks/fields/useCheckboxGroup/index.ts +64 -64
  136. package/src/hooks/fields/useRadioGroup/index.ts +60 -63
  137. package/src/hooks/fields/useSelect/index.ts +30 -30
  138. package/src/hooks/form/index.ts +10 -10
  139. package/src/hooks/form/useDrawerForm/index.ts +4 -4
  140. package/src/hooks/form/useDrawerForm/useDrawerForm.ts +257 -261
  141. package/src/hooks/form/useForm.ts +256 -259
  142. package/src/hooks/form/useModalForm/index.ts +3 -3
  143. package/src/hooks/form/useModalForm/useModalForm.ts +289 -295
  144. package/src/hooks/form/useStepsForm/index.ts +3 -3
  145. package/src/hooks/form/useStepsForm/useStepsForm.ts +96 -96
  146. package/src/hooks/import/index.tsx +104 -106
  147. package/src/hooks/list/useSimpleList/useSimpleList.ts +179 -185
  148. package/src/hooks/modal/useModal/index.tsx +24 -24
  149. package/src/hooks/table/useEditableTable/useEditableTable.ts +85 -85
  150. package/src/hooks/table/useTable/paginationLink.tsx +17 -17
  151. package/src/hooks/table/useTable/useTable.ts +199 -205
  152. package/src/hooks/useFileUploadState/index.ts +20 -20
  153. package/src/hooks/useSiderVisible/index.ts +16 -16
  154. package/src/hooks/useThemedLayoutContext/index.ts +12 -12
  155. package/src/index.tsx +4 -4
  156. package/src/interfaces/field.ts +1 -1
  157. package/src/interfaces/index.ts +7 -8
  158. package/src/interfaces/upload.ts +7 -7
  159. package/src/providers/notificationProvider/index.tsx +78 -78
  160. package/src/types/index.d.ts +2 -2
  161. package/src/types/sunflower.d.ts +68 -68
  162. package/tsconfig.json +26 -26
@@ -2,18 +2,18 @@ import React, { useContext } from "react";
2
2
  import { Button } from "antd";
3
3
  import { EyeOutlined } from "@ant-design/icons";
4
4
  import {
5
- useCan,
6
- useNavigation,
7
- useTranslate,
8
- useResource,
9
- useRouterContext,
10
- useRouterType,
11
- useLink,
12
- AccessControlContext,
5
+ useCan,
6
+ useNavigation,
7
+ useTranslate,
8
+ useResource,
9
+ useRouterContext,
10
+ useRouterType,
11
+ useLink,
12
+ AccessControlContext,
13
13
  } from "@refinedev/core";
14
14
  import {
15
- RefineButtonClassNames,
16
- RefineButtonTestIds,
15
+ RefineButtonClassNames,
16
+ RefineButtonTestIds,
17
17
  } from "@refinedev/ui-types";
18
18
 
19
19
  import { ShowButtonProps } from "../types";
@@ -26,92 +26,92 @@ import { ShowButtonProps } from "../types";
26
26
  * @see {@link https://refine.dev/docs/api-reference/antd/components/buttons/show-button} for more details.
27
27
  */
28
28
  export const ShowButton: React.FC<ShowButtonProps> = ({
29
- resource: resourceNameFromProps,
30
- resourceNameOrRouteName: propResourceNameOrRouteName,
31
- recordItemId,
32
- hideText = false,
33
- accessControl,
34
- meta,
35
- children,
36
- onClick,
37
- ...rest
29
+ resource: resourceNameFromProps,
30
+ resourceNameOrRouteName: propResourceNameOrRouteName,
31
+ recordItemId,
32
+ hideText = false,
33
+ accessControl,
34
+ meta,
35
+ children,
36
+ onClick,
37
+ ...rest
38
38
  }) => {
39
- const accessControlContext = useContext(AccessControlContext);
39
+ const accessControlContext = useContext(AccessControlContext);
40
40
 
41
- const accessControlEnabled =
42
- accessControl?.enabled ??
43
- accessControlContext.options.buttons.enableAccessControl;
41
+ const accessControlEnabled =
42
+ accessControl?.enabled ??
43
+ accessControlContext.options.buttons.enableAccessControl;
44
44
 
45
- const hideIfUnauthorized =
46
- accessControl?.hideIfUnauthorized ??
47
- accessControlContext.options.buttons.hideIfUnauthorized;
45
+ const hideIfUnauthorized =
46
+ accessControl?.hideIfUnauthorized ??
47
+ accessControlContext.options.buttons.hideIfUnauthorized;
48
48
 
49
- const { showUrl: generateShowUrl } = useNavigation();
50
- const routerType = useRouterType();
51
- const Link = useLink();
52
- const { Link: LegacyLink } = useRouterContext();
49
+ const { showUrl: generateShowUrl } = useNavigation();
50
+ const routerType = useRouterType();
51
+ const Link = useLink();
52
+ const { Link: LegacyLink } = useRouterContext();
53
53
 
54
- const ActiveLink = routerType === "legacy" ? LegacyLink : Link;
54
+ const ActiveLink = routerType === "legacy" ? LegacyLink : Link;
55
55
 
56
- const translate = useTranslate();
56
+ const translate = useTranslate();
57
57
 
58
- const { id, resource } = useResource(
59
- resourceNameFromProps ?? propResourceNameOrRouteName,
60
- );
58
+ const { id, resource } = useResource(
59
+ resourceNameFromProps ?? propResourceNameOrRouteName,
60
+ );
61
+
62
+ const { data } = useCan({
63
+ resource: resource?.name,
64
+ action: "show",
65
+ params: { id: recordItemId ?? id, resource },
66
+ queryOptions: {
67
+ enabled: accessControlEnabled,
68
+ },
69
+ });
61
70
 
62
- const { data } = useCan({
63
- resource: resource?.name,
64
- action: "show",
65
- params: { id: recordItemId ?? id, resource },
66
- queryOptions: {
67
- enabled: accessControlEnabled,
68
- },
69
- });
71
+ const createButtonDisabledTitle = () => {
72
+ if (data?.can) return "";
73
+ if (data?.reason) return data.reason;
70
74
 
71
- const createButtonDisabledTitle = () => {
72
- if (data?.can) return "";
73
- else if (data?.reason) return data.reason;
74
- else
75
- return translate(
76
- "buttons.notAccessTitle",
77
- "You don't have permission to access",
78
- );
79
- };
75
+ return translate(
76
+ "buttons.notAccessTitle",
77
+ "You don't have permission to access",
78
+ );
79
+ };
80
80
 
81
- const showUrl =
82
- resource && (recordItemId || id)
83
- ? generateShowUrl(resource, recordItemId! ?? id!, meta)
84
- : "";
81
+ const showUrl =
82
+ resource && (recordItemId || id)
83
+ ? generateShowUrl(resource, recordItemId! ?? id!, meta)
84
+ : "";
85
85
 
86
- if (accessControlEnabled && hideIfUnauthorized && !data?.can) {
87
- return null;
88
- }
86
+ if (accessControlEnabled && hideIfUnauthorized && !data?.can) {
87
+ return null;
88
+ }
89
89
 
90
- return (
91
- <ActiveLink
92
- to={showUrl}
93
- replace={false}
94
- onClick={(e: React.PointerEvent<HTMLButtonElement>) => {
95
- if (data?.can === false) {
96
- e.preventDefault();
97
- return;
98
- }
99
- if (onClick) {
100
- e.preventDefault();
101
- onClick(e);
102
- }
103
- }}
104
- >
105
- <Button
106
- icon={<EyeOutlined />}
107
- disabled={data?.can === false}
108
- title={createButtonDisabledTitle()}
109
- data-testid={RefineButtonTestIds.ShowButton}
110
- className={RefineButtonClassNames.ShowButton}
111
- {...rest}
112
- >
113
- {!hideText && (children ?? translate("buttons.show", "Show"))}
114
- </Button>
115
- </ActiveLink>
116
- );
90
+ return (
91
+ <ActiveLink
92
+ to={showUrl}
93
+ replace={false}
94
+ onClick={(e: React.PointerEvent<HTMLButtonElement>) => {
95
+ if (data?.can === false) {
96
+ e.preventDefault();
97
+ return;
98
+ }
99
+ if (onClick) {
100
+ e.preventDefault();
101
+ onClick(e);
102
+ }
103
+ }}
104
+ >
105
+ <Button
106
+ icon={<EyeOutlined />}
107
+ disabled={data?.can === false}
108
+ title={createButtonDisabledTitle()}
109
+ data-testid={RefineButtonTestIds.ShowButton}
110
+ className={RefineButtonClassNames.ShowButton}
111
+ {...rest}
112
+ >
113
+ {!hideText && (children ?? translate("buttons.show", "Show"))}
114
+ </Button>
115
+ </ActiveLink>
116
+ );
117
117
  };
@@ -1,15 +1,15 @@
1
1
  import { ButtonProps, UploadProps } from "antd";
2
2
  import {
3
- RefineCloneButtonProps,
4
- RefineCreateButtonProps,
5
- RefineDeleteButtonProps,
6
- RefineEditButtonProps,
7
- RefineExportButtonProps,
8
- RefineImportButtonProps,
9
- RefineListButtonProps,
10
- RefineRefreshButtonProps,
11
- RefineSaveButtonProps,
12
- RefineShowButtonProps,
3
+ RefineCloneButtonProps,
4
+ RefineCreateButtonProps,
5
+ RefineDeleteButtonProps,
6
+ RefineEditButtonProps,
7
+ RefineExportButtonProps,
8
+ RefineImportButtonProps,
9
+ RefineListButtonProps,
10
+ RefineRefreshButtonProps,
11
+ RefineSaveButtonProps,
12
+ RefineShowButtonProps,
13
13
  } from "@refinedev/ui-types";
14
14
 
15
15
  export type ShowButtonProps = RefineShowButtonProps<ButtonProps>;
@@ -25,16 +25,16 @@ export type EditButtonProps = RefineEditButtonProps<ButtonProps>;
25
25
  export type ExportButtonProps = RefineExportButtonProps<ButtonProps>;
26
26
 
27
27
  export type ImportButtonProps = RefineImportButtonProps & {
28
- /**
29
- * Sets the button type
30
- * @type [UploadProps](https://ant.design/components/upload/#API)
31
- */
32
- uploadProps: UploadProps;
33
- /**
34
- * Sets props of the button
35
- * @type [ButtonProps](https://ant.design/components/button/#API)
36
- */
37
- buttonProps: ButtonProps;
28
+ /**
29
+ * Sets the button type
30
+ * @type [UploadProps](https://ant.design/components/upload/#API)
31
+ */
32
+ uploadProps: UploadProps;
33
+ /**
34
+ * Sets props of the button
35
+ * @type [ButtonProps](https://ant.design/components/button/#API)
36
+ */
37
+ buttonProps: ButtonProps;
38
38
  };
39
39
 
40
40
  export type ListButtonProps = RefineListButtonProps<ButtonProps>;
@@ -1,20 +1,20 @@
1
1
  import React from "react";
2
2
  import { Card, Space, Spin } from "antd";
3
3
  import {
4
- useNavigation,
5
- useTranslate,
6
- useUserFriendlyName,
7
- useRefineContext,
8
- useRouterType,
9
- useResource,
10
- useBack,
4
+ useNavigation,
5
+ useTranslate,
6
+ useUserFriendlyName,
7
+ useRefineContext,
8
+ useRouterType,
9
+ useResource,
10
+ useBack,
11
11
  } from "@refinedev/core";
12
12
 
13
13
  import {
14
- Breadcrumb,
15
- SaveButton,
16
- PageHeader,
17
- SaveButtonProps,
14
+ Breadcrumb,
15
+ SaveButton,
16
+ PageHeader,
17
+ SaveButtonProps,
18
18
  } from "@components";
19
19
  import { CreateProps } from "../types";
20
20
 
@@ -25,120 +25,120 @@ import { CreateProps } from "../types";
25
25
  * @see {@link https://refine.dev/docs/ui-frameworks/antd/components/basic-views/create} for more details.
26
26
  */
27
27
  export const Create: React.FC<CreateProps> = ({
28
- title,
29
- saveButtonProps: saveButtonPropsFromProps,
30
- children,
31
- resource: resourceFromProps,
32
- isLoading = false,
33
- breadcrumb: breadcrumbFromProps,
34
- wrapperProps,
35
- headerProps,
36
- contentProps,
37
- headerButtonProps,
38
- headerButtons,
39
- footerButtonProps,
40
- footerButtons,
41
- goBack: goBackFromProps,
28
+ title,
29
+ saveButtonProps: saveButtonPropsFromProps,
30
+ children,
31
+ resource: resourceFromProps,
32
+ isLoading = false,
33
+ breadcrumb: breadcrumbFromProps,
34
+ wrapperProps,
35
+ headerProps,
36
+ contentProps,
37
+ headerButtonProps,
38
+ headerButtons,
39
+ footerButtonProps,
40
+ footerButtons,
41
+ goBack: goBackFromProps,
42
42
  }) => {
43
- const translate = useTranslate();
44
- const { options: { breadcrumb: globalBreadcrumb } = {} } =
45
- useRefineContext();
43
+ const translate = useTranslate();
44
+ const {
45
+ options: { breadcrumb: globalBreadcrumb } = {},
46
+ } = useRefineContext();
46
47
 
47
- const routerType = useRouterType();
48
- const back = useBack();
49
- const { goBack } = useNavigation();
50
- const getUserFriendlyName = useUserFriendlyName();
48
+ const routerType = useRouterType();
49
+ const back = useBack();
50
+ const { goBack } = useNavigation();
51
+ const getUserFriendlyName = useUserFriendlyName();
51
52
 
52
- const { resource, action, identifier } = useResource(resourceFromProps);
53
+ const { resource, action, identifier } = useResource(resourceFromProps);
53
54
 
54
- const breadcrumb =
55
- typeof breadcrumbFromProps === "undefined"
56
- ? globalBreadcrumb
57
- : breadcrumbFromProps;
55
+ const breadcrumb =
56
+ typeof breadcrumbFromProps === "undefined"
57
+ ? globalBreadcrumb
58
+ : breadcrumbFromProps;
58
59
 
59
- const saveButtonProps: SaveButtonProps = {
60
- ...(isLoading ? { disabled: true } : {}),
61
- ...saveButtonPropsFromProps,
62
- htmlType: "submit",
63
- };
60
+ const saveButtonProps: SaveButtonProps = {
61
+ ...(isLoading ? { disabled: true } : {}),
62
+ ...saveButtonPropsFromProps,
63
+ htmlType: "submit",
64
+ };
64
65
 
65
- const defaultFooterButtons = (
66
- <>
67
- <SaveButton {...saveButtonProps} />
68
- </>
69
- );
66
+ const defaultFooterButtons = (
67
+ <>
68
+ <SaveButton {...saveButtonProps} />
69
+ </>
70
+ );
70
71
 
71
- return (
72
- <div {...(wrapperProps ?? {})}>
73
- <PageHeader
74
- ghost={false}
75
- backIcon={goBackFromProps}
76
- onBack={
77
- action !== "list" || typeof action !== "undefined"
78
- ? routerType === "legacy"
79
- ? goBack
80
- : back
81
- : undefined
82
- }
83
- title={
84
- title ??
85
- translate(
86
- `${identifier}.titles.create`,
87
- `Create ${getUserFriendlyName(
88
- resource?.meta?.label ??
89
- resource?.options?.label ??
90
- resource?.label ??
91
- identifier,
92
- "singular",
93
- )}`,
94
- )
95
- }
96
- breadcrumb={
97
- typeof breadcrumb !== "undefined" ? (
98
- <>{breadcrumb}</> ?? undefined
99
- ) : (
100
- <Breadcrumb />
101
- )
102
- }
103
- extra={
104
- <Space wrap {...(headerButtonProps ?? {})}>
105
- {headerButtons
106
- ? typeof headerButtons === "function"
107
- ? headerButtons({
108
- defaultButtons: null,
109
- })
110
- : headerButtons
111
- : null}
112
- </Space>
113
- }
114
- {...(headerProps ?? {})}
115
- >
116
- <Spin spinning={isLoading}>
117
- <Card
118
- bordered={false}
119
- actions={[
120
- <Space
121
- key="action-buttons"
122
- style={{ float: "right", marginRight: 24 }}
123
- {...(footerButtonProps ?? {})}
124
- >
125
- {footerButtons
126
- ? typeof footerButtons === "function"
127
- ? footerButtons({
128
- defaultButtons:
129
- defaultFooterButtons,
130
- saveButtonProps: saveButtonProps,
131
- })
132
- : footerButtons
133
- : defaultFooterButtons}
134
- </Space>,
135
- ]}
136
- {...(contentProps ?? {})}
137
- >
138
- {children}
139
- </Card>
140
- </Spin>
141
- </PageHeader>
142
- </div>
143
- );
72
+ return (
73
+ <div {...(wrapperProps ?? {})}>
74
+ <PageHeader
75
+ ghost={false}
76
+ backIcon={goBackFromProps}
77
+ onBack={
78
+ action !== "list" || typeof action !== "undefined"
79
+ ? routerType === "legacy"
80
+ ? goBack
81
+ : back
82
+ : undefined
83
+ }
84
+ title={
85
+ title ??
86
+ translate(
87
+ `${identifier}.titles.create`,
88
+ `Create ${getUserFriendlyName(
89
+ resource?.meta?.label ??
90
+ resource?.options?.label ??
91
+ resource?.label ??
92
+ identifier,
93
+ "singular",
94
+ )}`,
95
+ )
96
+ }
97
+ breadcrumb={
98
+ typeof breadcrumb !== "undefined" ? (
99
+ <>{breadcrumb}</> ?? undefined
100
+ ) : (
101
+ <Breadcrumb />
102
+ )
103
+ }
104
+ extra={
105
+ <Space wrap {...(headerButtonProps ?? {})}>
106
+ {headerButtons
107
+ ? typeof headerButtons === "function"
108
+ ? headerButtons({
109
+ defaultButtons: null,
110
+ })
111
+ : headerButtons
112
+ : null}
113
+ </Space>
114
+ }
115
+ {...(headerProps ?? {})}
116
+ >
117
+ <Spin spinning={isLoading}>
118
+ <Card
119
+ bordered={false}
120
+ actions={[
121
+ <Space
122
+ key="action-buttons"
123
+ style={{ float: "right", marginRight: 24 }}
124
+ {...(footerButtonProps ?? {})}
125
+ >
126
+ {footerButtons
127
+ ? typeof footerButtons === "function"
128
+ ? footerButtons({
129
+ defaultButtons: defaultFooterButtons,
130
+ saveButtonProps: saveButtonProps,
131
+ })
132
+ : footerButtons
133
+ : defaultFooterButtons}
134
+ </Space>,
135
+ ]}
136
+ {...(contentProps ?? {})}
137
+ >
138
+ {children}
139
+ </Card>
140
+ </Spin>
141
+ </PageHeader>
142
+ </div>
143
+ );
144
144
  };