@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,40 +1,37 @@
1
1
  import React from "react";
2
2
  import {
3
- RegisterPageProps,
4
- RegisterFormTypes,
5
- useRouterType,
6
- useLink,
7
- useActiveAuthProvider,
3
+ RegisterPageProps,
4
+ RegisterFormTypes,
5
+ useRouterType,
6
+ useLink,
7
+ useActiveAuthProvider,
8
8
  } from "@refinedev/core";
9
9
  import {
10
- Row,
11
- Col,
12
- Layout,
13
- Card,
14
- Typography,
15
- Form,
16
- Input,
17
- Button,
18
- LayoutProps,
19
- CardProps,
20
- FormProps,
21
- Divider,
22
- theme,
10
+ Row,
11
+ Col,
12
+ Layout,
13
+ Card,
14
+ Typography,
15
+ Form,
16
+ Input,
17
+ Button,
18
+ LayoutProps,
19
+ CardProps,
20
+ FormProps,
21
+ Divider,
22
+ theme,
23
23
  } from "antd";
24
24
  import { useTranslate, useRouterContext, useRegister } from "@refinedev/core";
25
25
 
26
26
  import {
27
- layoutStyles,
28
- containerStyles,
29
- titleStyles,
30
- headStyles,
31
- bodyStyles,
27
+ layoutStyles,
28
+ containerStyles,
29
+ titleStyles,
30
+ headStyles,
31
+ bodyStyles,
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.
@@ -42,258 +39,242 @@ type RegisterProps = RegisterPageProps<LayoutProps, CardProps, FormProps>;
42
39
  * @see {@link https://refine.dev/docs/ui-frameworks/antd/components/antd-auth-page/#register} for more details.
43
40
  */
44
41
  export const RegisterPage: React.FC<RegisterProps> = ({
45
- providers,
46
- loginLink,
47
- wrapperProps,
48
- contentProps,
49
- renderContent,
50
- formProps,
51
- title,
52
- hideForm,
42
+ providers,
43
+ loginLink,
44
+ wrapperProps,
45
+ contentProps,
46
+ renderContent,
47
+ formProps,
48
+ title,
49
+ hideForm,
53
50
  }) => {
54
- const { token } = useToken();
55
- const [form] = Form.useForm<RegisterFormTypes>();
56
- const translate = useTranslate();
57
- const routerType = useRouterType();
58
- const Link = useLink();
59
- const { Link: LegacyLink } = useRouterContext();
60
-
61
- const ActiveLink = routerType === "legacy" ? LegacyLink : Link;
51
+ const { token } = theme.useToken();
52
+ const [form] = Form.useForm<RegisterFormTypes>();
53
+ const translate = useTranslate();
54
+ const routerType = useRouterType();
55
+ const Link = useLink();
56
+ const { Link: LegacyLink } = useRouterContext();
62
57
 
63
- const authProvider = useActiveAuthProvider();
64
- const { mutate: register, isLoading } = useRegister<RegisterFormTypes>({
65
- v3LegacyAuthProviderCompatible: Boolean(authProvider?.isLegacy),
66
- });
58
+ const ActiveLink = routerType === "legacy" ? LegacyLink : Link;
67
59
 
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
- );
60
+ const authProvider = useActiveAuthProvider();
61
+ const { mutate: register, isLoading } = useRegister<RegisterFormTypes>({
62
+ v3LegacyAuthProviderCompatible: Boolean(authProvider?.isLegacy),
63
+ });
81
64
 
82
- const CardTitle = (
83
- <Title
84
- level={3}
85
- style={{
86
- color: token.colorPrimaryTextHover,
87
- ...titleStyles,
88
- }}
89
- >
90
- {translate("pages.register.title", "Sign up for your account")}
91
- </Title>
65
+ const PageTitle =
66
+ title === false ? null : (
67
+ <div
68
+ style={{
69
+ display: "flex",
70
+ justifyContent: "center",
71
+ marginBottom: "32px",
72
+ fontSize: "20px",
73
+ }}
74
+ >
75
+ {title ?? <ThemedTitleV2 collapsed={false} />}
76
+ </div>
92
77
  );
93
78
 
94
- const renderProviders = () => {
95
- if (providers && providers.length > 0) {
79
+ const CardTitle = (
80
+ <Typography.Title
81
+ level={3}
82
+ style={{
83
+ color: token.colorPrimaryTextHover,
84
+ ...titleStyles,
85
+ }}
86
+ >
87
+ {translate("pages.register.title", "Sign up for your account")}
88
+ </Typography.Title>
89
+ );
90
+
91
+ const renderProviders = () => {
92
+ if (providers && providers.length > 0) {
93
+ return (
94
+ <>
95
+ {providers.map((provider) => {
96
96
  return (
97
- <>
98
- {providers.map((provider) => {
99
- return (
100
- <Button
101
- key={provider.name}
102
- type="default"
103
- block
104
- icon={provider.icon}
105
- style={{
106
- display: "flex",
107
- justifyContent: "center",
108
- alignItems: "center",
109
- width: "100%",
110
- marginBottom: "8px",
111
- }}
112
- onClick={() =>
113
- register({
114
- providerName: provider.name,
115
- })
116
- }
117
- >
118
- {provider.label}
119
- </Button>
120
- );
121
- })}
122
- {!hideForm && (
123
- <Divider>
124
- <Text
125
- style={{
126
- color: token.colorTextLabel,
127
- }}
128
- >
129
- {translate("pages.login.divider", "or")}
130
- </Text>
131
- </Divider>
132
- )}
133
- </>
97
+ <Button
98
+ key={provider.name}
99
+ type="default"
100
+ block
101
+ icon={provider.icon}
102
+ style={{
103
+ display: "flex",
104
+ justifyContent: "center",
105
+ alignItems: "center",
106
+ width: "100%",
107
+ marginBottom: "8px",
108
+ }}
109
+ onClick={() =>
110
+ register({
111
+ providerName: provider.name,
112
+ })
113
+ }
114
+ >
115
+ {provider.label}
116
+ </Button>
134
117
  );
135
- }
136
- return null;
137
- };
118
+ })}
119
+ {!hideForm && (
120
+ <Divider>
121
+ <Typography.Text
122
+ style={{
123
+ color: token.colorTextLabel,
124
+ }}
125
+ >
126
+ {translate("pages.login.divider", "or")}
127
+ </Typography.Text>
128
+ </Divider>
129
+ )}
130
+ </>
131
+ );
132
+ }
133
+ return null;
134
+ };
138
135
 
139
- const CardContent = (
140
- <Card
141
- title={CardTitle}
142
- headStyle={headStyles}
143
- bodyStyle={bodyStyles}
136
+ const CardContent = (
137
+ <Card
138
+ title={CardTitle}
139
+ headStyle={headStyles}
140
+ bodyStyle={bodyStyles}
141
+ style={{
142
+ ...containerStyles,
143
+ backgroundColor: token.colorBgElevated,
144
+ }}
145
+ {...(contentProps ?? {})}
146
+ >
147
+ {renderProviders()}
148
+ {!hideForm && (
149
+ <Form<RegisterFormTypes>
150
+ layout="vertical"
151
+ form={form}
152
+ onFinish={(values) => register(values)}
153
+ requiredMark={false}
154
+ {...formProps}
155
+ >
156
+ <Form.Item
157
+ name="email"
158
+ label={translate("pages.register.email", "Email")}
159
+ rules={[
160
+ { required: true },
161
+ {
162
+ type: "email",
163
+ message: translate(
164
+ "pages.register.errors.validEmail",
165
+ "Invalid email address",
166
+ ),
167
+ },
168
+ ]}
169
+ >
170
+ <Input
171
+ size="large"
172
+ placeholder={translate("pages.register.fields.email", "Email")}
173
+ />
174
+ </Form.Item>
175
+ <Form.Item
176
+ name="password"
177
+ label={translate("pages.register.fields.password", "Password")}
178
+ rules={[{ required: true }]}
179
+ >
180
+ <Input type="password" placeholder="●●●●●●●●" size="large" />
181
+ </Form.Item>
182
+ <div
144
183
  style={{
145
- ...containerStyles,
146
- backgroundColor: token.colorBgElevated,
184
+ display: "flex",
185
+ justifyContent: "space-between",
186
+ marginBottom: "24px",
147
187
  }}
148
- {...(contentProps ?? {})}
149
- >
150
- {renderProviders()}
151
- {!hideForm && (
152
- <Form<RegisterFormTypes>
153
- layout="vertical"
154
- form={form}
155
- onFinish={(values) => register(values)}
156
- requiredMark={false}
157
- {...formProps}
158
- >
159
- <Form.Item
160
- name="email"
161
- label={translate("pages.register.email", "Email")}
162
- rules={[
163
- { required: true },
164
- {
165
- type: "email",
166
- message: translate(
167
- "pages.register.errors.validEmail",
168
- "Invalid email address",
169
- ),
170
- },
171
- ]}
172
- >
173
- <Input
174
- size="large"
175
- placeholder={translate(
176
- "pages.register.fields.email",
177
- "Email",
178
- )}
179
- />
180
- </Form.Item>
181
- <Form.Item
182
- name="password"
183
- label={translate(
184
- "pages.register.fields.password",
185
- "Password",
186
- )}
187
- rules={[{ required: true }]}
188
- >
189
- <Input
190
- type="password"
191
- placeholder="●●●●●●●●"
192
- size="large"
193
- />
194
- </Form.Item>
195
- <div
196
- style={{
197
- display: "flex",
198
- justifyContent: "space-between",
199
- marginBottom: "24px",
200
- }}
201
- >
202
- {loginLink ?? (
203
- <Text
204
- style={{
205
- fontSize: 12,
206
- marginLeft: "auto",
207
- }}
208
- >
209
- {translate(
210
- "pages.login.buttons.haveAccount",
211
- "Have an account?",
212
- )}{" "}
213
- <ActiveLink
214
- style={{
215
- fontWeight: "bold",
216
- color: token.colorPrimaryTextHover,
217
- }}
218
- to="/login"
219
- >
220
- {translate("pages.login.signin", "Sign in")}
221
- </ActiveLink>
222
- </Text>
223
- )}
224
- </div>
225
- <Form.Item
226
- style={{
227
- marginBottom: 0,
228
- }}
229
- >
230
- <Button
231
- type="primary"
232
- size="large"
233
- htmlType="submit"
234
- loading={isLoading}
235
- block
236
- >
237
- {translate(
238
- "pages.register.buttons.submit",
239
- "Sign up",
240
- )}
241
- </Button>
242
- </Form.Item>
243
- </Form>
244
- )}
245
- {hideForm && loginLink !== false && (
246
- <div
247
- style={{
248
- marginTop: hideForm ? 16 : 8,
249
- }}
250
- >
251
- <Text
252
- style={{
253
- fontSize: 12,
254
- }}
255
- >
256
- {translate(
257
- "pages.login.buttons.haveAccount",
258
- "Have an account?",
259
- )}{" "}
260
- <ActiveLink
261
- style={{
262
- fontWeight: "bold",
263
- color: token.colorPrimaryTextHover,
264
- }}
265
- to="/login"
266
- >
267
- {translate("pages.login.signin", "Sign in")}
268
- </ActiveLink>
269
- </Text>
270
- </div>
271
- )}
272
- </Card>
273
- );
274
-
275
- return (
276
- <Layout style={layoutStyles} {...(wrapperProps ?? {})}>
277
- <Row
278
- justify="center"
279
- align={hideForm ? "top" : "middle"}
188
+ >
189
+ {loginLink ?? (
190
+ <Typography.Text
280
191
  style={{
281
- padding: "16px 0",
282
- minHeight: "100dvh",
283
- paddingTop: hideForm ? "15dvh" : "16px",
192
+ fontSize: 12,
193
+ marginLeft: "auto",
284
194
  }}
195
+ >
196
+ {translate(
197
+ "pages.login.buttons.haveAccount",
198
+ "Have an account?",
199
+ )}{" "}
200
+ <ActiveLink
201
+ style={{
202
+ fontWeight: "bold",
203
+ color: token.colorPrimaryTextHover,
204
+ }}
205
+ to="/login"
206
+ >
207
+ {translate("pages.login.signin", "Sign in")}
208
+ </ActiveLink>
209
+ </Typography.Text>
210
+ )}
211
+ </div>
212
+ <Form.Item
213
+ style={{
214
+ marginBottom: 0,
215
+ }}
216
+ >
217
+ <Button
218
+ type="primary"
219
+ size="large"
220
+ htmlType="submit"
221
+ loading={isLoading}
222
+ block
285
223
  >
286
- <Col xs={22}>
287
- {renderContent ? (
288
- renderContent(CardContent, PageTitle)
289
- ) : (
290
- <>
291
- {PageTitle}
292
- {CardContent}
293
- </>
294
- )}
295
- </Col>
296
- </Row>
297
- </Layout>
298
- );
224
+ {translate("pages.register.buttons.submit", "Sign up")}
225
+ </Button>
226
+ </Form.Item>
227
+ </Form>
228
+ )}
229
+ {hideForm && loginLink !== false && (
230
+ <div
231
+ style={{
232
+ marginTop: hideForm ? 16 : 8,
233
+ }}
234
+ >
235
+ <Typography.Text
236
+ style={{
237
+ fontSize: 12,
238
+ }}
239
+ >
240
+ {translate("pages.login.buttons.haveAccount", "Have an account?")}{" "}
241
+ <ActiveLink
242
+ style={{
243
+ fontWeight: "bold",
244
+ color: token.colorPrimaryTextHover,
245
+ }}
246
+ to="/login"
247
+ >
248
+ {translate("pages.login.signin", "Sign in")}
249
+ </ActiveLink>
250
+ </Typography.Text>
251
+ </div>
252
+ )}
253
+ </Card>
254
+ );
255
+
256
+ return (
257
+ <Layout style={layoutStyles} {...(wrapperProps ?? {})}>
258
+ <Row
259
+ justify="center"
260
+ align={hideForm ? "top" : "middle"}
261
+ style={{
262
+ padding: "16px 0",
263
+ minHeight: "100dvh",
264
+ paddingTop: hideForm ? "15dvh" : "16px",
265
+ }}
266
+ >
267
+ <Col xs={22}>
268
+ {renderContent ? (
269
+ renderContent(CardContent, PageTitle)
270
+ ) : (
271
+ <>
272
+ {PageTitle}
273
+ {CardContent}
274
+ </>
275
+ )}
276
+ </Col>
277
+ </Row>
278
+ </Layout>
279
+ );
299
280
  };
@@ -3,28 +3,28 @@ import { CSSProperties } from "react";
3
3
  export const layoutStyles: CSSProperties = {};
4
4
 
5
5
  export const containerStyles: CSSProperties = {
6
- maxWidth: "400px",
7
- margin: "auto",
8
- padding: "32px",
9
- boxShadow:
10
- "0px 2px 4px rgba(0, 0, 0, 0.02), 0px 1px 6px -1px rgba(0, 0, 0, 0.02), 0px 1px 2px rgba(0, 0, 0, 0.03)",
6
+ maxWidth: "400px",
7
+ margin: "auto",
8
+ padding: "32px",
9
+ boxShadow:
10
+ "0px 2px 4px rgba(0, 0, 0, 0.02), 0px 1px 6px -1px rgba(0, 0, 0, 0.02), 0px 1px 2px rgba(0, 0, 0, 0.03)",
11
11
  };
12
12
 
13
13
  export const headStyles: CSSProperties = {
14
- borderBottom: 0,
15
- padding: 0,
14
+ borderBottom: 0,
15
+ padding: 0,
16
16
  };
17
17
 
18
18
  export const bodyStyles: CSSProperties = { padding: 0, marginTop: "32px" };
19
19
 
20
20
  export const titleStyles: CSSProperties = {
21
- textAlign: "center",
22
- marginBottom: 0,
23
- fontSize: "24px",
24
- lineHeight: "32px",
25
- fontWeight: 700,
26
- overflowWrap: "break-word",
27
- hyphens: "manual",
28
- textOverflow: "unset",
29
- whiteSpace: "pre-wrap",
21
+ textAlign: "center",
22
+ marginBottom: 0,
23
+ fontSize: "24px",
24
+ lineHeight: "32px",
25
+ fontWeight: 700,
26
+ overflowWrap: "break-word",
27
+ hyphens: "manual",
28
+ textOverflow: "unset",
29
+ whiteSpace: "pre-wrap",
30
30
  };