@refinedev/antd 5.37.3 → 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 (172) hide show
  1. package/CHANGELOG.md +1766 -1776
  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/date/index.d.ts.map +1 -1
  13. package/dist/components/fields/email/index.d.ts.map +1 -1
  14. package/dist/components/fields/number/index.d.ts.map +1 -1
  15. package/dist/components/fields/text/index.d.ts.map +1 -1
  16. package/dist/components/fields/types.d.ts.map +1 -1
  17. package/dist/components/fields/url/index.d.ts.map +1 -1
  18. package/dist/components/layout/header/index.d.ts.map +1 -1
  19. package/dist/components/layout/sider/index.d.ts.map +1 -1
  20. package/dist/components/layout/title/index.d.ts.map +1 -1
  21. package/dist/components/layout/types.d.ts.map +1 -1
  22. package/dist/components/pageHeader/index.d.ts.map +1 -1
  23. package/dist/components/pages/auth/components/forgotPassword/index.d.ts.map +1 -1
  24. package/dist/components/pages/auth/components/login/index.d.ts.map +1 -1
  25. package/dist/components/pages/auth/components/register/index.d.ts.map +1 -1
  26. package/dist/components/pages/auth/components/updatePassword/index.d.ts.map +1 -1
  27. package/dist/components/pages/auth/index.d.ts.map +1 -1
  28. package/dist/components/pages/error/index.d.ts.map +1 -1
  29. package/dist/components/pages/login/index.d.ts.map +1 -1
  30. package/dist/components/pages/ready/index.d.ts.map +1 -1
  31. package/dist/components/table/components/filterDropdown/index.d.ts.map +1 -1
  32. package/dist/components/themedLayout/header/index.d.ts.map +1 -1
  33. package/dist/components/themedLayout/sider/index.d.ts.map +1 -1
  34. package/dist/components/themedLayout/title/index.d.ts.map +1 -1
  35. package/dist/components/themedLayout/types.d.ts.map +1 -1
  36. package/dist/components/themedLayoutV2/header/index.d.ts.map +1 -1
  37. package/dist/components/themedLayoutV2/index.d.ts.map +1 -1
  38. package/dist/components/themedLayoutV2/sider/index.d.ts.map +1 -1
  39. package/dist/components/themedLayoutV2/title/index.d.ts.map +1 -1
  40. package/dist/components/themedLayoutV2/types.d.ts.map +1 -1
  41. package/dist/components/undoableNotification/index.d.ts.map +1 -1
  42. package/dist/contexts/index.d.ts.map +1 -1
  43. package/dist/contexts/themedLayoutContext/IThemedLayoutContext.d.ts.map +1 -1
  44. package/dist/contexts/themedLayoutContext/index.d.ts.map +1 -1
  45. package/dist/definitions/table/index.d.ts.map +1 -1
  46. package/dist/definitions/themes/index.d.ts.map +1 -1
  47. package/dist/esm/index.js +2 -1
  48. package/dist/esm/index.js.map +1 -1
  49. package/dist/hooks/fields/useCheckboxGroup/index.d.ts.map +1 -1
  50. package/dist/hooks/fields/useRadioGroup/index.d.ts.map +1 -1
  51. package/dist/hooks/fields/useSelect/index.d.ts.map +1 -1
  52. package/dist/hooks/form/index.d.ts.map +1 -1
  53. package/dist/hooks/form/useDrawerForm/index.d.ts.map +1 -1
  54. package/dist/hooks/form/useDrawerForm/useDrawerForm.d.ts.map +1 -1
  55. package/dist/hooks/form/useForm.d.ts.map +1 -1
  56. package/dist/hooks/form/useModalForm/index.d.ts.map +1 -1
  57. package/dist/hooks/form/useModalForm/useModalForm.d.ts.map +1 -1
  58. package/dist/hooks/form/useStepsForm/index.d.ts.map +1 -1
  59. package/dist/hooks/form/useStepsForm/useStepsForm.d.ts.map +1 -1
  60. package/dist/hooks/import/index.d.ts.map +1 -1
  61. package/dist/hooks/list/useSimpleList/useSimpleList.d.ts.map +1 -1
  62. package/dist/hooks/modal/useModal/index.d.ts.map +1 -1
  63. package/dist/hooks/table/useEditableTable/useEditableTable.d.ts.map +1 -1
  64. package/dist/hooks/table/useTable/paginationLink.d.ts.map +1 -1
  65. package/dist/hooks/table/useTable/useTable.d.ts.map +1 -1
  66. package/dist/hooks/useFileUploadState/index.d.ts.map +1 -1
  67. package/dist/hooks/useSiderVisible/index.d.ts.map +1 -1
  68. package/dist/iife/index.js +11 -10
  69. package/dist/iife/index.js.map +1 -1
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +2 -1
  72. package/dist/index.js.map +1 -1
  73. package/dist/interfaces/field.d.ts.map +1 -1
  74. package/dist/interfaces/index.d.ts.map +1 -1
  75. package/dist/interfaces/upload.d.ts.map +1 -1
  76. package/package.json +32 -32
  77. package/refine.config.js +497 -524
  78. package/src/components/autoSaveIndicator/index.tsx +69 -70
  79. package/src/components/breadcrumb/index.tsx +63 -65
  80. package/src/components/buttons/clone/index.tsx +86 -86
  81. package/src/components/buttons/create/index.tsx +85 -86
  82. package/src/components/buttons/delete/index.tsx +114 -119
  83. package/src/components/buttons/edit/index.tsx +86 -86
  84. package/src/components/buttons/export/index.tsx +17 -17
  85. package/src/components/buttons/import/index.tsx +19 -20
  86. package/src/components/buttons/list/index.tsx +105 -105
  87. package/src/components/buttons/refresh/index.tsx +50 -50
  88. package/src/components/buttons/save/index.tsx +17 -17
  89. package/src/components/buttons/show/index.tsx +86 -86
  90. package/src/components/buttons/types.ts +20 -20
  91. package/src/components/crud/create/index.tsx +120 -120
  92. package/src/components/crud/edit/index.tsx +205 -207
  93. package/src/components/crud/list/index.tsx +88 -90
  94. package/src/components/crud/show/index.tsx +175 -185
  95. package/src/components/crud/types.ts +41 -56
  96. package/src/components/fields/boolean/index.tsx +11 -11
  97. package/src/components/fields/date/index.tsx +13 -15
  98. package/src/components/fields/email/index.tsx +5 -7
  99. package/src/components/fields/file/index.tsx +8 -8
  100. package/src/components/fields/image/index.tsx +4 -4
  101. package/src/components/fields/markdown/index.tsx +9 -9
  102. package/src/components/fields/number/index.tsx +17 -19
  103. package/src/components/fields/tag/index.tsx +1 -1
  104. package/src/components/fields/text/index.tsx +1 -3
  105. package/src/components/fields/types.ts +18 -18
  106. package/src/components/fields/url/index.tsx +8 -10
  107. package/src/components/layout/header/index.tsx +25 -26
  108. package/src/components/layout/index.tsx +30 -30
  109. package/src/components/layout/sider/index.tsx +238 -248
  110. package/src/components/layout/sider/styles.ts +5 -5
  111. package/src/components/layout/title/index.tsx +40 -40
  112. package/src/components/layout/types.ts +6 -6
  113. package/src/components/pageHeader/index.tsx +44 -44
  114. package/src/components/pages/auth/components/forgotPassword/index.tsx +177 -183
  115. package/src/components/pages/auth/components/login/index.tsx +258 -274
  116. package/src/components/pages/auth/components/register/index.tsx +247 -266
  117. package/src/components/pages/auth/components/styles.ts +16 -16
  118. package/src/components/pages/auth/components/updatePassword/index.tsx +160 -177
  119. package/src/components/pages/auth/index.tsx +23 -23
  120. package/src/components/pages/error/index.tsx +57 -59
  121. package/src/components/pages/login/index.tsx +120 -147
  122. package/src/components/pages/login/styles.ts +12 -12
  123. package/src/components/pages/ready/index.tsx +72 -80
  124. package/src/components/pages/welcome/index.tsx +1 -1
  125. package/src/components/table/components/filterDropdown/index.tsx +89 -92
  126. package/src/components/themedLayout/header/index.tsx +28 -33
  127. package/src/components/themedLayout/index.tsx +30 -30
  128. package/src/components/themedLayout/sider/index.tsx +279 -282
  129. package/src/components/themedLayout/sider/styles.ts +5 -5
  130. package/src/components/themedLayout/title/index.tsx +66 -68
  131. package/src/components/themedLayout/types.ts +8 -8
  132. package/src/components/themedLayoutV2/header/index.tsx +43 -48
  133. package/src/components/themedLayoutV2/index.tsx +34 -36
  134. package/src/components/themedLayoutV2/sider/index.tsx +309 -316
  135. package/src/components/themedLayoutV2/sider/styles.ts +5 -5
  136. package/src/components/themedLayoutV2/title/index.tsx +66 -68
  137. package/src/components/themedLayoutV2/types.ts +9 -9
  138. package/src/components/undoableNotification/index.tsx +31 -31
  139. package/src/contexts/index.ts +2 -2
  140. package/src/contexts/themedLayoutContext/IThemedLayoutContext.ts +4 -4
  141. package/src/contexts/themedLayoutContext/index.tsx +22 -22
  142. package/src/definitions/table/index.ts +81 -82
  143. package/src/definitions/themes/index.ts +35 -35
  144. package/src/definitions/upload/index.ts +17 -17
  145. package/src/hooks/fields/useCheckboxGroup/index.ts +64 -64
  146. package/src/hooks/fields/useRadioGroup/index.ts +60 -63
  147. package/src/hooks/fields/useSelect/index.ts +30 -30
  148. package/src/hooks/form/index.ts +10 -10
  149. package/src/hooks/form/useDrawerForm/index.ts +4 -4
  150. package/src/hooks/form/useDrawerForm/useDrawerForm.ts +257 -261
  151. package/src/hooks/form/useForm.ts +256 -259
  152. package/src/hooks/form/useModalForm/index.ts +3 -3
  153. package/src/hooks/form/useModalForm/useModalForm.ts +289 -295
  154. package/src/hooks/form/useStepsForm/index.ts +3 -3
  155. package/src/hooks/form/useStepsForm/useStepsForm.ts +96 -96
  156. package/src/hooks/import/index.tsx +104 -106
  157. package/src/hooks/list/useSimpleList/useSimpleList.ts +179 -185
  158. package/src/hooks/modal/useModal/index.tsx +24 -24
  159. package/src/hooks/table/useEditableTable/useEditableTable.ts +85 -85
  160. package/src/hooks/table/useTable/paginationLink.tsx +17 -17
  161. package/src/hooks/table/useTable/useTable.ts +199 -205
  162. package/src/hooks/useFileUploadState/index.ts +20 -20
  163. package/src/hooks/useSiderVisible/index.ts +16 -16
  164. package/src/hooks/useThemedLayoutContext/index.ts +12 -12
  165. package/src/index.tsx +4 -4
  166. package/src/interfaces/field.ts +1 -1
  167. package/src/interfaces/index.ts +7 -8
  168. package/src/interfaces/upload.ts +7 -7
  169. package/src/providers/notificationProvider/index.tsx +78 -78
  170. package/src/types/index.d.ts +2 -2
  171. package/src/types/sunflower.d.ts +68 -68
  172. package/tsconfig.json +26 -26
@@ -1,7 +1,7 @@
1
1
  import React, { FC } from "react";
2
2
  import {
3
- PageHeader as AntdPageHeader,
4
- PageHeaderProps as AntdPageHeaderProps,
3
+ PageHeader as AntdPageHeader,
4
+ PageHeaderProps as AntdPageHeaderProps,
5
5
  } from "@ant-design/pro-layout";
6
6
  import { Button, Typography } from "antd";
7
7
  import { ArrowLeftOutlined } from "@ant-design/icons";
@@ -10,49 +10,49 @@ import { RefinePageHeaderClassNames } from "@refinedev/ui-types";
10
10
  export type PageHeaderProps = AntdPageHeaderProps;
11
11
 
12
12
  export const PageHeader: FC<AntdPageHeaderProps> = ({ children, ...props }) => {
13
- const backIcon =
14
- typeof props.backIcon === "undefined" ? (
15
- <Button type="text" icon={<ArrowLeftOutlined />} />
16
- ) : (
17
- props.backIcon
18
- );
19
-
20
- const title =
21
- typeof props.title === "string" ? (
22
- <Typography.Title
23
- className={RefinePageHeaderClassNames.Title}
24
- level={4}
25
- style={{ marginBottom: 0 }}
26
- >
27
- {props.title}
28
- </Typography.Title>
29
- ) : (
30
- props.title
31
- );
13
+ const backIcon =
14
+ typeof props.backIcon === "undefined" ? (
15
+ <Button type="text" icon={<ArrowLeftOutlined />} />
16
+ ) : (
17
+ props.backIcon
18
+ );
32
19
 
33
- const subtitle =
34
- typeof props.title === "string" ? (
35
- <Typography.Title
36
- className={RefinePageHeaderClassNames.SubTitle}
37
- level={5}
38
- type="secondary"
39
- style={{ marginBottom: 0 }}
40
- >
41
- {props.subTitle}
42
- </Typography.Title>
43
- ) : (
44
- props.subTitle
45
- );
20
+ const title =
21
+ typeof props.title === "string" ? (
22
+ <Typography.Title
23
+ className={RefinePageHeaderClassNames.Title}
24
+ level={4}
25
+ style={{ marginBottom: 0 }}
26
+ >
27
+ {props.title}
28
+ </Typography.Title>
29
+ ) : (
30
+ props.title
31
+ );
46
32
 
47
- return (
48
- <AntdPageHeader
49
- {...props}
50
- backIcon={backIcon}
51
- title={title}
52
- subTitle={subtitle}
53
- style={{ padding: 0, ...props.style }}
54
- >
55
- {children}
56
- </AntdPageHeader>
33
+ const subtitle =
34
+ typeof props.title === "string" ? (
35
+ <Typography.Title
36
+ className={RefinePageHeaderClassNames.SubTitle}
37
+ level={5}
38
+ type="secondary"
39
+ style={{ marginBottom: 0 }}
40
+ >
41
+ {props.subTitle}
42
+ </Typography.Title>
43
+ ) : (
44
+ props.subTitle
57
45
  );
46
+
47
+ return (
48
+ <AntdPageHeader
49
+ {...props}
50
+ backIcon={backIcon}
51
+ title={title}
52
+ subTitle={subtitle}
53
+ style={{ padding: 0, ...props.style }}
54
+ >
55
+ {children}
56
+ </AntdPageHeader>
57
+ );
58
58
  };
@@ -1,215 +1,209 @@
1
1
  import React from "react";
2
2
  import {
3
- ForgotPasswordPageProps,
4
- ForgotPasswordFormTypes,
5
- useRouterType,
6
- useLink,
3
+ ForgotPasswordPageProps,
4
+ ForgotPasswordFormTypes,
5
+ useRouterType,
6
+ useLink,
7
7
  } from "@refinedev/core";
8
8
  import {
9
- Row,
10
- Col,
11
- Layout,
12
- Card,
13
- Typography,
14
- Form,
15
- Input,
16
- Button,
17
- LayoutProps,
18
- CardProps,
19
- FormProps,
20
- theme,
9
+ Row,
10
+ Col,
11
+ Layout,
12
+ Card,
13
+ Typography,
14
+ Form,
15
+ Input,
16
+ Button,
17
+ LayoutProps,
18
+ CardProps,
19
+ FormProps,
20
+ theme,
21
21
  } from "antd";
22
22
  import {
23
- useTranslate,
24
- useRouterContext,
25
- useForgotPassword,
23
+ useTranslate,
24
+ useRouterContext,
25
+ useForgotPassword,
26
26
  } from "@refinedev/core";
27
27
 
28
28
  import {
29
- layoutStyles,
30
- containerStyles,
31
- titleStyles,
32
- headStyles,
33
- bodyStyles,
29
+ layoutStyles,
30
+ containerStyles,
31
+ titleStyles,
32
+ headStyles,
33
+ bodyStyles,
34
34
  } from "../styles";
35
35
  import { ThemedTitleV2 } from "@components";
36
36
 
37
37
  type ResetPassworProps = ForgotPasswordPageProps<
38
- LayoutProps,
39
- CardProps,
40
- FormProps
38
+ LayoutProps,
39
+ CardProps,
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
  *
49
46
  * @see {@link https://refine.dev/docs/ui-frameworks/antd/components/antd-auth-page/#forgot-password} for more details.
50
47
  */
51
48
  export const ForgotPasswordPage: React.FC<ResetPassworProps> = ({
52
- loginLink,
53
- wrapperProps,
54
- contentProps,
55
- renderContent,
56
- formProps,
57
- title,
49
+ loginLink,
50
+ wrapperProps,
51
+ contentProps,
52
+ renderContent,
53
+ formProps,
54
+ title,
58
55
  }) => {
59
- const { token } = useToken();
60
- const [form] = Form.useForm<ForgotPasswordFormTypes>();
61
- const translate = useTranslate();
62
- const routerType = useRouterType();
63
- const Link = useLink();
64
- const { Link: LegacyLink } = useRouterContext();
56
+ const { token } = theme.useToken();
57
+ const [form] = Form.useForm<ForgotPasswordFormTypes>();
58
+ const translate = useTranslate();
59
+ const routerType = useRouterType();
60
+ const Link = useLink();
61
+ const { Link: LegacyLink } = useRouterContext();
65
62
 
66
- const ActiveLink = routerType === "legacy" ? LegacyLink : Link;
63
+ const ActiveLink = routerType === "legacy" ? LegacyLink : Link;
67
64
 
68
- const { mutate: forgotPassword, isLoading } =
69
- useForgotPassword<ForgotPasswordFormTypes>();
65
+ const { mutate: forgotPassword, isLoading } =
66
+ useForgotPassword<ForgotPasswordFormTypes>();
70
67
 
71
- const PageTitle =
72
- title === false ? null : (
73
- <div
74
- style={{
75
- display: "flex",
76
- justifyContent: "center",
77
- marginBottom: "32px",
78
- fontSize: "20px",
79
- }}
80
- >
81
- {title ?? <ThemedTitleV2 collapsed={false} />}
82
- </div>
83
- );
68
+ const PageTitle =
69
+ title === false ? null : (
70
+ <div
71
+ style={{
72
+ display: "flex",
73
+ justifyContent: "center",
74
+ marginBottom: "32px",
75
+ fontSize: "20px",
76
+ }}
77
+ >
78
+ {title ?? <ThemedTitleV2 collapsed={false} />}
79
+ </div>
80
+ );
84
81
 
85
- const CardTitle = (
86
- <Title
87
- level={3}
88
- style={{
89
- color: token.colorPrimaryTextHover,
90
- ...titleStyles,
91
- }}
82
+ const CardTitle = (
83
+ <Typography.Title
84
+ level={3}
85
+ style={{
86
+ color: token.colorPrimaryTextHover,
87
+ ...titleStyles,
88
+ }}
89
+ >
90
+ {translate("pages.forgotPassword.title", "Forgot your password?")}
91
+ </Typography.Title>
92
+ );
93
+ const CardContent = (
94
+ <Card
95
+ title={CardTitle}
96
+ headStyle={headStyles}
97
+ bodyStyle={bodyStyles}
98
+ style={{
99
+ ...containerStyles,
100
+ backgroundColor: token.colorBgElevated,
101
+ }}
102
+ {...(contentProps ?? {})}
103
+ >
104
+ <Form<ForgotPasswordFormTypes>
105
+ layout="vertical"
106
+ form={form}
107
+ onFinish={(values) => forgotPassword(values)}
108
+ requiredMark={false}
109
+ {...formProps}
110
+ >
111
+ <Form.Item
112
+ name="email"
113
+ label={translate("pages.forgotPassword.fields.email", "Email")}
114
+ rules={[
115
+ { required: true },
116
+ {
117
+ type: "email",
118
+ message: translate(
119
+ "pages.forgotPassword.errors.validEmail",
120
+ "Invalid email address",
121
+ ),
122
+ },
123
+ ]}
92
124
  >
93
- {translate("pages.forgotPassword.title", "Forgot your password?")}
94
- </Title>
95
- );
96
- const CardContent = (
97
- <Card
98
- title={CardTitle}
99
- headStyle={headStyles}
100
- bodyStyle={bodyStyles}
101
- style={{
102
- ...containerStyles,
103
- backgroundColor: token.colorBgElevated,
104
- }}
105
- {...(contentProps ?? {})}
125
+ <Input
126
+ type="email"
127
+ size="large"
128
+ placeholder={translate(
129
+ "pages.forgotPassword.fields.email",
130
+ "Email",
131
+ )}
132
+ />
133
+ </Form.Item>
134
+ <div
135
+ style={{
136
+ display: "flex",
137
+ justifyContent: "space-between",
138
+ }}
106
139
  >
107
- <Form<ForgotPasswordFormTypes>
108
- layout="vertical"
109
- form={form}
110
- onFinish={(values) => forgotPassword(values)}
111
- requiredMark={false}
112
- {...formProps}
140
+ {loginLink ?? (
141
+ <Typography.Text
142
+ style={{
143
+ fontSize: 12,
144
+ marginLeft: "auto",
145
+ }}
113
146
  >
114
- <Form.Item
115
- name="email"
116
- label={translate(
117
- "pages.forgotPassword.fields.email",
118
- "Email",
119
- )}
120
- rules={[
121
- { required: true },
122
- {
123
- type: "email",
124
- message: translate(
125
- "pages.forgotPassword.errors.validEmail",
126
- "Invalid email address",
127
- ),
128
- },
129
- ]}
130
- >
131
- <Input
132
- type="email"
133
- size="large"
134
- placeholder={translate(
135
- "pages.forgotPassword.fields.email",
136
- "Email",
137
- )}
138
- />
139
- </Form.Item>
140
- <div
141
- style={{
142
- display: "flex",
143
- justifyContent: "space-between",
144
- }}
145
- >
146
- {loginLink ?? (
147
- <Text
148
- style={{
149
- fontSize: 12,
150
- marginLeft: "auto",
151
- }}
152
- >
153
- {translate(
154
- "pages.register.buttons.haveAccount",
155
- "Have an account? ",
156
- )}{" "}
157
- <ActiveLink
158
- style={{
159
- fontWeight: "bold",
160
- color: token.colorPrimaryTextHover,
161
- }}
162
- to="/login"
163
- >
164
- {translate("pages.login.signin", "Sign in")}
165
- </ActiveLink>
166
- </Text>
167
- )}
168
- </div>
169
- <Form.Item
170
- style={{
171
- marginTop: "24px",
172
- marginBottom: 0,
173
- }}
174
- >
175
- <Button
176
- type="primary"
177
- size="large"
178
- htmlType="submit"
179
- loading={isLoading}
180
- block
181
- >
182
- {translate(
183
- "pages.forgotPassword.buttons.submit",
184
- "Send reset instructions",
185
- )}
186
- </Button>
187
- </Form.Item>
188
- </Form>
189
- </Card>
190
- );
191
-
192
- return (
193
- <Layout style={layoutStyles} {...(wrapperProps ?? {})}>
194
- <Row
195
- justify="center"
196
- align="middle"
147
+ {translate(
148
+ "pages.register.buttons.haveAccount",
149
+ "Have an account? ",
150
+ )}{" "}
151
+ <ActiveLink
197
152
  style={{
198
- padding: "16px 0",
199
- minHeight: "100dvh",
153
+ fontWeight: "bold",
154
+ color: token.colorPrimaryTextHover,
200
155
  }}
201
- >
202
- <Col xs={22}>
203
- {renderContent ? (
204
- renderContent(CardContent, PageTitle)
205
- ) : (
206
- <>
207
- {PageTitle}
208
- {CardContent}
209
- </>
210
- )}
211
- </Col>
212
- </Row>
213
- </Layout>
214
- );
156
+ to="/login"
157
+ >
158
+ {translate("pages.login.signin", "Sign in")}
159
+ </ActiveLink>
160
+ </Typography.Text>
161
+ )}
162
+ </div>
163
+ <Form.Item
164
+ style={{
165
+ marginTop: "24px",
166
+ marginBottom: 0,
167
+ }}
168
+ >
169
+ <Button
170
+ type="primary"
171
+ size="large"
172
+ htmlType="submit"
173
+ loading={isLoading}
174
+ block
175
+ >
176
+ {translate(
177
+ "pages.forgotPassword.buttons.submit",
178
+ "Send reset instructions",
179
+ )}
180
+ </Button>
181
+ </Form.Item>
182
+ </Form>
183
+ </Card>
184
+ );
185
+
186
+ return (
187
+ <Layout style={layoutStyles} {...(wrapperProps ?? {})}>
188
+ <Row
189
+ justify="center"
190
+ align="middle"
191
+ style={{
192
+ padding: "16px 0",
193
+ minHeight: "100dvh",
194
+ }}
195
+ >
196
+ <Col xs={22}>
197
+ {renderContent ? (
198
+ renderContent(CardContent, PageTitle)
199
+ ) : (
200
+ <>
201
+ {PageTitle}
202
+ {CardContent}
203
+ </>
204
+ )}
205
+ </Col>
206
+ </Row>
207
+ </Layout>
208
+ );
215
209
  };