nfx-ui 0.35.0 → 0.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +1 -1
- package/README.md +1 -1
- package/dist/hooks/auth.d.ts +30 -29
- package/dist/hooks/auth.d.ts.map +1 -1
- package/dist/hooks/auth.js +225 -226
- package/dist/hooks/auth.js.map +1 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +9 -8
- package/dist/hooks/toast.d.ts +12 -0
- package/dist/hooks/toast.d.ts.map +1 -0
- package/dist/hooks/toast.js +13 -0
- package/dist/hooks/toast.js.map +1 -0
- package/dist/languages/hooks/useLanguageLabel.d.ts.map +1 -1
- package/dist/languages/hooks/useLanguageLabel.js +11 -10
- package/dist/languages/hooks/useLanguageLabel.js.map +1 -1
- package/dist/languages/index.d.ts +0 -1
- package/dist/languages/index.d.ts.map +1 -1
- package/dist/languages/index.js +9 -10
- package/dist/languages/languages/i18n.d.ts.map +1 -1
- package/dist/languages/languages/i18n.js +30 -41
- package/dist/languages/languages/i18n.js.map +1 -1
- package/dist/schemas/loginSchema.d.ts +3 -3
- package/dist/schemas/loginSchema.d.ts.map +1 -1
- package/dist/schemas/loginSchema.js +22 -23
- package/dist/schemas/loginSchema.js.map +1 -1
- package/dist/schemas/profileEditSchema.d.ts +1 -1
- package/dist/schemas/profileEditSchema.d.ts.map +1 -1
- package/dist/schemas/profileEditSchema.js +18 -19
- package/dist/schemas/profileEditSchema.js.map +1 -1
- package/dist/schemas/signupSchema.d.ts +2 -2
- package/dist/schemas/signupSchema.d.ts.map +1 -1
- package/dist/schemas/signupSchema.js +16 -17
- package/dist/schemas/signupSchema.js.map +1 -1
- package/package.json +1 -1
- package/src/hooks/auth.ts +79 -98
- package/src/hooks/index.ts +1 -0
- package/src/hooks/toast.ts +23 -0
- package/src/languages/hooks/useLanguageLabel.ts +2 -3
- package/src/languages/index.ts +0 -1
- package/src/languages/languages/i18n.ts +3 -17
- package/src/schemas/loginSchema.ts +3 -6
- package/src/schemas/profileEditSchema.ts +1 -3
- package/src/schemas/signupSchema.ts +2 -4
- package/dist/languages/resources/en/language.js +0 -52
- package/dist/languages/resources/en/language.js.map +0 -1
- package/dist/languages/resources/en/language.json.d.ts +0 -49
- package/dist/languages/resources/en/layout.js +0 -9
- package/dist/languages/resources/en/layout.js.map +0 -1
- package/dist/languages/resources/en/layout.json.d.ts +0 -9
- package/dist/languages/resources/en/preference.js +0 -50
- package/dist/languages/resources/en/preference.js.map +0 -1
- package/dist/languages/resources/en/preference.json.d.ts +0 -51
- package/dist/languages/resources/en/theme.js +0 -19
- package/dist/languages/resources/en/theme.js.map +0 -1
- package/dist/languages/resources/en/theme.json.d.ts +0 -17
- package/dist/languages/resources/fr/language.js +0 -52
- package/dist/languages/resources/fr/language.js.map +0 -1
- package/dist/languages/resources/fr/language.json.d.ts +0 -49
- package/dist/languages/resources/fr/layout.js +0 -9
- package/dist/languages/resources/fr/layout.js.map +0 -1
- package/dist/languages/resources/fr/layout.json.d.ts +0 -9
- package/dist/languages/resources/fr/preference.js +0 -50
- package/dist/languages/resources/fr/preference.js.map +0 -1
- package/dist/languages/resources/fr/preference.json.d.ts +0 -51
- package/dist/languages/resources/fr/theme.js +0 -19
- package/dist/languages/resources/fr/theme.js.map +0 -1
- package/dist/languages/resources/fr/theme.json.d.ts +0 -17
- package/dist/languages/resources/index.d.ts +0 -9
- package/dist/languages/resources/index.d.ts.map +0 -1
- package/dist/languages/resources/index.js +0 -54
- package/dist/languages/resources/index.js.map +0 -1
- package/dist/languages/resources/zh/language.js +0 -52
- package/dist/languages/resources/zh/language.js.map +0 -1
- package/dist/languages/resources/zh/language.json.d.ts +0 -49
- package/dist/languages/resources/zh/layout.js +0 -9
- package/dist/languages/resources/zh/layout.js.map +0 -1
- package/dist/languages/resources/zh/layout.json.d.ts +0 -9
- package/dist/languages/resources/zh/preference.js +0 -50
- package/dist/languages/resources/zh/preference.js.map +0 -1
- package/dist/languages/resources/zh/preference.json.d.ts +0 -51
- package/dist/languages/resources/zh/theme.js +0 -19
- package/dist/languages/resources/zh/theme.js.map +0 -1
- package/dist/languages/resources/zh/theme.json.d.ts +0 -17
- package/src/languages/resources/en/language.json +0 -47
- package/src/languages/resources/en/layout.json +0 -6
- package/src/languages/resources/en/preference.json +0 -49
- package/src/languages/resources/en/theme.json +0 -14
- package/src/languages/resources/fr/language.json +0 -47
- package/src/languages/resources/fr/layout.json +0 -6
- package/src/languages/resources/fr/preference.json +0 -49
- package/src/languages/resources/fr/theme.json +0 -14
- package/src/languages/resources/index.ts +0 -62
- package/src/languages/resources/zh/language.json +0 -47
- package/src/languages/resources/zh/layout.json +0 -6
- package/src/languages/resources/zh/preference.json +0 -49
- package/src/languages/resources/zh/theme.json +0 -14
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { z as r } from "zod";
|
|
1
|
+
import { zodResolver as e } from "@hookform/resolvers/zod";
|
|
2
|
+
import { useForm as t } from "react-hook-form";
|
|
3
|
+
import { z as n } from "zod";
|
|
5
4
|
//#region src/schemas/loginSchema.ts
|
|
6
|
-
function
|
|
7
|
-
return
|
|
8
|
-
email:
|
|
9
|
-
password:
|
|
10
|
-
rememberMe:
|
|
5
|
+
function r(e) {
|
|
6
|
+
return n.object({
|
|
7
|
+
email: n.string().min(1, e("form.validation.emailRequired")).email(e("form.validation.emailInvalid")),
|
|
8
|
+
password: n.string().min(1, e("form.validation.passwordRequired")),
|
|
9
|
+
rememberMe: n.boolean().optional()
|
|
11
10
|
});
|
|
12
11
|
}
|
|
13
|
-
var
|
|
14
|
-
let
|
|
15
|
-
return
|
|
16
|
-
resolver:
|
|
12
|
+
var i = (n) => {
|
|
13
|
+
let i = r(n);
|
|
14
|
+
return t({
|
|
15
|
+
resolver: e(i),
|
|
17
16
|
mode: "onChange",
|
|
18
17
|
defaultValues: {
|
|
19
18
|
email: "",
|
|
@@ -22,17 +21,17 @@ var a = () => {
|
|
|
22
21
|
}
|
|
23
22
|
});
|
|
24
23
|
};
|
|
25
|
-
function
|
|
26
|
-
return
|
|
27
|
-
phone:
|
|
28
|
-
password:
|
|
29
|
-
rememberMe:
|
|
24
|
+
function a(e) {
|
|
25
|
+
return n.object({
|
|
26
|
+
phone: n.string().min(1, e("form.validation.phoneRequired")).min(6, e("form.validation.phoneInvalid")),
|
|
27
|
+
password: n.string().min(1, e("form.validation.passwordRequired")),
|
|
28
|
+
rememberMe: n.boolean().optional()
|
|
30
29
|
});
|
|
31
30
|
}
|
|
32
|
-
var
|
|
33
|
-
let
|
|
34
|
-
return
|
|
35
|
-
resolver:
|
|
31
|
+
var o = (n) => {
|
|
32
|
+
let r = a(n);
|
|
33
|
+
return t({
|
|
34
|
+
resolver: e(r),
|
|
36
35
|
mode: "onChange",
|
|
37
36
|
defaultValues: {
|
|
38
37
|
phone: "",
|
|
@@ -42,6 +41,6 @@ var s = () => {
|
|
|
42
41
|
});
|
|
43
42
|
};
|
|
44
43
|
//#endregion
|
|
45
|
-
export {
|
|
44
|
+
export { r as createLoginSchema, a as createLoginWithPhoneSchema, i as useInitLoginForm, o as useInitLoginWithPhoneForm };
|
|
46
45
|
|
|
47
46
|
//# sourceMappingURL=loginSchema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loginSchema.js","names":[],"sources":["../../src/schemas/loginSchema.ts"],"sourcesContent":["import type { TFunction } from \"i18next\";\n\nimport { zodResolver } from \"@hookform/resolvers/zod\";\nimport { useForm } from \"react-hook-form\";\nimport {
|
|
1
|
+
{"version":3,"file":"loginSchema.js","names":[],"sources":["../../src/schemas/loginSchema.ts"],"sourcesContent":["import type { TFunction } from \"i18next\";\n\nimport { zodResolver } from \"@hookform/resolvers/zod\";\nimport { useForm } from \"react-hook-form\";\nimport { z } from \"zod\";\n\n/** 登录表单;校验文案由 host 页面传入的 `t` 提供(`form.validation.*`)。 */\nexport function createLoginSchema(t: TFunction) {\n return z.object({\n email: z.string().min(1, t(\"form.validation.emailRequired\")).email(t(\"form.validation.emailInvalid\")),\n password: z.string().min(1, t(\"form.validation.passwordRequired\")),\n rememberMe: z.boolean().optional(),\n });\n}\n\nexport type LoginFormData = z.infer<ReturnType<typeof createLoginSchema>>;\n\nexport const useInitLoginForm = (t: TFunction) => {\n const schema = createLoginSchema(t);\n\n return useForm<LoginFormData>({\n resolver: zodResolver(schema),\n mode: \"onChange\",\n defaultValues: {\n email: \"\",\n password: \"\",\n rememberMe: false,\n },\n });\n};\n\nexport function createLoginWithPhoneSchema(t: TFunction) {\n return z.object({\n phone: z.string().min(1, t(\"form.validation.phoneRequired\")).min(6, t(\"form.validation.phoneInvalid\")),\n password: z.string().min(1, t(\"form.validation.passwordRequired\")),\n rememberMe: z.boolean().optional(),\n });\n}\n\nexport type LoginWithPhoneFormData = z.infer<ReturnType<typeof createLoginWithPhoneSchema>>;\n\nexport const useInitLoginWithPhoneForm = (t: TFunction) => {\n const schema = createLoginWithPhoneSchema(t);\n\n return useForm<LoginWithPhoneFormData>({\n resolver: zodResolver(schema),\n mode: \"onChange\",\n defaultValues: {\n phone: \"\",\n password: \"\",\n rememberMe: false,\n },\n });\n};\n"],"mappings":";;;;AAOA,SAAgB,EAAkB,GAAc;CAC9C,OAAO,EAAE,OAAO;EACd,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,EAAE,+BAA+B,CAAC,CAAC,CAAC,MAAM,EAAE,8BAA8B,CAAC;EACpG,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,EAAE,kCAAkC,CAAC;EACjE,YAAY,EAAE,QAAQ,CAAC,CAAC,SAAS;CACnC,CAAC;AACH;AAIA,IAAa,KAAoB,MAAiB;CAChD,IAAM,IAAS,EAAkB,CAAC;CAElC,OAAO,EAAuB;EAC5B,UAAU,EAAY,CAAM;EAC5B,MAAM;EACN,eAAe;GACb,OAAO;GACP,UAAU;GACV,YAAY;EACd;CACF,CAAC;AACH;AAEA,SAAgB,EAA2B,GAAc;CACvD,OAAO,EAAE,OAAO;EACd,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,EAAE,+BAA+B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,8BAA8B,CAAC;EACrG,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,EAAE,kCAAkC,CAAC;EACjE,YAAY,EAAE,QAAQ,CAAC,CAAC,SAAS;CACnC,CAAC;AACH;AAIA,IAAa,KAA6B,MAAiB;CACzD,IAAM,IAAS,EAA2B,CAAC;CAE3C,OAAO,EAAgC;EACrC,UAAU,EAAY,CAAM;EAC5B,MAAM;EACN,eAAe;GACb,OAAO;GACP,UAAU;GACV,YAAY;EACd;CACF,CAAC;AACH"}
|
|
@@ -21,7 +21,7 @@ export declare function createUserProfileBackgroundsFieldSchema(t: TFunction, ma
|
|
|
21
21
|
imageId: z.ZodString;
|
|
22
22
|
sortOrder: z.ZodNumber;
|
|
23
23
|
}, z.core.$strip>>;
|
|
24
|
-
export declare function useInitUserProfileEditForm(profile: Profile.Response.ProfileBase): import('react-hook-form').UseFormReturn<{
|
|
24
|
+
export declare function useInitUserProfileEditForm(t: TFunction, profile: Profile.Response.ProfileBase): import('react-hook-form').UseFormReturn<{
|
|
25
25
|
profileLanguage: LanguageEnum;
|
|
26
26
|
displayName: string;
|
|
27
27
|
firstName: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profileEditSchema.d.ts","sourceRoot":"","sources":["../../src/schemas/profileEditSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG5C,OAAO,EAAY,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"profileEditSchema.d.ts","sourceRoot":"","sources":["../../src/schemas/profileEditSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG5C,OAAO,EAAY,YAAY,EAAE,MAAM,cAAc,CAAC;AAItD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,GAAG,uBAAuB,CAc3G;AAED,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,SAAS;;;;;;;;;;;;kBAmBvD;AAED,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAAC,CAAC;AAE9F,wBAAgB,uCAAuC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM;;;mBAStF;AAED,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;GAS7F"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { safeStringable as e } from "../utils/safe.js";
|
|
2
2
|
import { Language as t, LanguageEnum as n } from "../enums/language.js";
|
|
3
3
|
import { toDateInputValue as r } from "../utils/time.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { z as s } from "zod";
|
|
4
|
+
import { zodResolver as i } from "@hookform/resolvers/zod";
|
|
5
|
+
import { useForm as a } from "react-hook-form";
|
|
6
|
+
import { z as o } from "zod";
|
|
8
7
|
//#region src/schemas/profileEditSchema.ts
|
|
9
|
-
function
|
|
8
|
+
function s(n) {
|
|
10
9
|
return {
|
|
11
10
|
profileLanguage: t(n.profileLanguage),
|
|
12
11
|
displayName: e(n.displayName),
|
|
@@ -21,37 +20,37 @@ function c(n) {
|
|
|
21
20
|
bio: e(n.bio)
|
|
22
21
|
};
|
|
23
22
|
}
|
|
24
|
-
function
|
|
25
|
-
let t = (t) =>
|
|
26
|
-
return
|
|
27
|
-
profileLanguage:
|
|
23
|
+
function c(e) {
|
|
24
|
+
let t = (t) => o.string().trim().max(t, e("edit.validation.maxLength", { max: t }));
|
|
25
|
+
return o.object({
|
|
26
|
+
profileLanguage: o.enum(n),
|
|
28
27
|
displayName: t(150),
|
|
29
28
|
firstName: t(100),
|
|
30
29
|
lastName: t(100),
|
|
31
30
|
country: t(100),
|
|
32
31
|
city: t(100),
|
|
33
32
|
gender: t(100),
|
|
34
|
-
birthday:
|
|
33
|
+
birthday: o.string().trim().refine((e) => e === "" || /^\d{4}-\d{2}-\d{2}$/.test(e), e("edit.validation.birthdayInvalid")),
|
|
35
34
|
website: t(100).refine((e) => !e || /^https?:\/\/.+/i.test(e), e("edit.validation.websiteInvalid")),
|
|
36
35
|
timezone: t(100),
|
|
37
36
|
bio: t(5e3)
|
|
38
37
|
});
|
|
39
38
|
}
|
|
40
|
-
function
|
|
41
|
-
return
|
|
42
|
-
imageId:
|
|
43
|
-
sortOrder:
|
|
39
|
+
function l(e, t) {
|
|
40
|
+
return o.array(o.object({
|
|
41
|
+
imageId: o.string().min(1),
|
|
42
|
+
sortOrder: o.number().int().nonnegative()
|
|
44
43
|
})).max(t, e("backgroundUpload.limitReached", { max: t }));
|
|
45
44
|
}
|
|
46
|
-
function
|
|
47
|
-
let
|
|
48
|
-
return
|
|
49
|
-
resolver:
|
|
45
|
+
function u(e, t) {
|
|
46
|
+
let n = c(e), r = s(t);
|
|
47
|
+
return a({
|
|
48
|
+
resolver: i(n),
|
|
50
49
|
mode: "onChange",
|
|
51
50
|
defaultValues: r
|
|
52
51
|
});
|
|
53
52
|
}
|
|
54
53
|
//#endregion
|
|
55
|
-
export {
|
|
54
|
+
export { s as buildUserProfileEditDefaults, l as createUserProfileBackgroundsFieldSchema, c as createUserProfileEditSchema, u as useInitUserProfileEditForm };
|
|
56
55
|
|
|
57
56
|
//# sourceMappingURL=profileEditSchema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profileEditSchema.js","names":[],"sources":["../../src/schemas/profileEditSchema.ts"],"sourcesContent":["import type { TFunction } from \"i18next\";\nimport type { Profile } from \"nfx-ui/types\";\n\nimport { zodResolver } from \"@hookform/resolvers/zod\";\nimport { Language, LanguageEnum } from \"nfx-ui/enums\";\nimport { toDateInputValue } from \"nfx-ui/utils/time\";\nimport { safeStringable } from \"nfx-ui/utils/safe\";\nimport { useForm } from \"react-hook-form\";\nimport {
|
|
1
|
+
{"version":3,"file":"profileEditSchema.js","names":[],"sources":["../../src/schemas/profileEditSchema.ts"],"sourcesContent":["import type { TFunction } from \"i18next\";\nimport type { Profile } from \"nfx-ui/types\";\n\nimport { zodResolver } from \"@hookform/resolvers/zod\";\nimport { Language, LanguageEnum } from \"nfx-ui/enums\";\nimport { toDateInputValue } from \"nfx-ui/utils/time\";\nimport { safeStringable } from \"nfx-ui/utils/safe\";\nimport { useForm } from \"react-hook-form\";\nimport { z } from \"zod\";\n\nexport function buildUserProfileEditDefaults(profile: Profile.Response.ProfileBase): UserProfileEditFormData {\n return {\n profileLanguage: Language(profile.profileLanguage),\n displayName: safeStringable(profile.displayName),\n firstName: safeStringable(profile.firstName),\n lastName: safeStringable(profile.lastName),\n country: safeStringable(profile.country),\n city: safeStringable(profile.city),\n gender: safeStringable(profile.gender),\n birthday: toDateInputValue(profile.birthday),\n website: safeStringable(profile.website),\n timezone: safeStringable(profile.timezone),\n bio: safeStringable(profile.bio),\n };\n}\n\nexport function createUserProfileEditSchema(t: TFunction) {\n const optionalString = (max: number) => z.string().trim().max(max, t(\"edit.validation.maxLength\", { max }));\n\n return z.object({\n profileLanguage: z.enum(LanguageEnum),\n displayName: optionalString(150),\n firstName: optionalString(100),\n lastName: optionalString(100),\n country: optionalString(100),\n city: optionalString(100),\n gender: optionalString(100),\n birthday: z\n .string()\n .trim()\n .refine((value) => value === \"\" || /^\\d{4}-\\d{2}-\\d{2}$/.test(value), t(\"edit.validation.birthdayInvalid\")),\n website: optionalString(100).refine((value) => !value || /^https?:\\/\\/.+/i.test(value), t(\"edit.validation.websiteInvalid\")),\n timezone: optionalString(100),\n bio: optionalString(5000),\n });\n}\n\nexport type UserProfileEditFormData = z.infer<ReturnType<typeof createUserProfileEditSchema>>;\n\nexport function createUserProfileBackgroundsFieldSchema(t: TFunction, maxImages: number) {\n return z\n .array(\n z.object({\n imageId: z.string().min(1),\n sortOrder: z.number().int().nonnegative(),\n }),\n )\n .max(maxImages, t(\"backgroundUpload.limitReached\", { max: maxImages }));\n}\n\nexport function useInitUserProfileEditForm(t: TFunction, profile: Profile.Response.ProfileBase) {\n const schema = createUserProfileEditSchema(t);\n const defaultValues = buildUserProfileEditDefaults(profile);\n\n return useForm<UserProfileEditFormData>({\n resolver: zodResolver(schema),\n mode: \"onChange\",\n defaultValues,\n });\n}\n"],"mappings":";;;;;;;AAUA,SAAgB,EAA6B,GAAgE;CAC3G,OAAO;EACL,iBAAiB,EAAS,EAAQ,eAAe;EACjD,aAAa,EAAe,EAAQ,WAAW;EAC/C,WAAW,EAAe,EAAQ,SAAS;EAC3C,UAAU,EAAe,EAAQ,QAAQ;EACzC,SAAS,EAAe,EAAQ,OAAO;EACvC,MAAM,EAAe,EAAQ,IAAI;EACjC,QAAQ,EAAe,EAAQ,MAAM;EACrC,UAAU,EAAiB,EAAQ,QAAQ;EAC3C,SAAS,EAAe,EAAQ,OAAO;EACvC,UAAU,EAAe,EAAQ,QAAQ;EACzC,KAAK,EAAe,EAAQ,GAAG;CACjC;AACF;AAEA,SAAgB,EAA4B,GAAc;CACxD,IAAM,KAAkB,MAAgB,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,GAAK,EAAE,6BAA6B,EAAE,OAAI,CAAC,CAAC;CAE1G,OAAO,EAAE,OAAO;EACd,iBAAiB,EAAE,KAAK,CAAY;EACpC,aAAa,EAAe,GAAG;EAC/B,WAAW,EAAe,GAAG;EAC7B,UAAU,EAAe,GAAG;EAC5B,SAAS,EAAe,GAAG;EAC3B,MAAM,EAAe,GAAG;EACxB,QAAQ,EAAe,GAAG;EAC1B,UAAU,EACP,OAAO,CAAC,CACR,KAAK,CAAC,CACN,QAAQ,MAAU,MAAU,MAAM,sBAAsB,KAAK,CAAK,GAAG,EAAE,iCAAiC,CAAC;EAC5G,SAAS,EAAe,GAAG,CAAC,CAAC,QAAQ,MAAU,CAAC,KAAS,kBAAkB,KAAK,CAAK,GAAG,EAAE,gCAAgC,CAAC;EAC3H,UAAU,EAAe,GAAG;EAC5B,KAAK,EAAe,GAAI;CAC1B,CAAC;AACH;AAIA,SAAgB,EAAwC,GAAc,GAAmB;CACvF,OAAO,EACJ,MACC,EAAE,OAAO;EACP,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;EACzB,WAAW,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY;CAC1C,CAAC,CACH,CAAC,CACA,IAAI,GAAW,EAAE,iCAAiC,EAAE,KAAK,EAAU,CAAC,CAAC;AAC1E;AAEA,SAAgB,EAA2B,GAAc,GAAuC;CAC9F,IAAM,IAAS,EAA4B,CAAC,GACtC,IAAgB,EAA6B,CAAO;CAE1D,OAAO,EAAiC;EACtC,UAAU,EAAY,CAAM;EAC5B,MAAM;EACN;CACF,CAAC;AACH"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { TFunction } from 'i18next';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
/**
|
|
3
|
+
/** 注册表单;校验文案由 host 页面传入的 `t` 提供(`validation.*`)。 */
|
|
4
4
|
export declare function createSignupSchema(t: TFunction): z.ZodObject<{
|
|
5
5
|
email: z.ZodString;
|
|
6
6
|
verificationCode: z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>;
|
|
@@ -9,7 +9,7 @@ export declare function createSignupSchema(t: TFunction): z.ZodObject<{
|
|
|
9
9
|
rememberMe: z.ZodOptional<z.ZodBoolean>;
|
|
10
10
|
}, z.core.$strip>;
|
|
11
11
|
export type SignupFormData = z.infer<ReturnType<typeof createSignupSchema>>;
|
|
12
|
-
export declare const useInitSignupForm: () => import('react-hook-form').UseFormReturn<{
|
|
12
|
+
export declare const useInitSignupForm: (t: TFunction) => import('react-hook-form').UseFormReturn<{
|
|
13
13
|
email: string;
|
|
14
14
|
verificationCode: string;
|
|
15
15
|
password: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signupSchema.d.ts","sourceRoot":"","sources":["../../src/schemas/signupSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"signupSchema.d.ts","sourceRoot":"","sources":["../../src/schemas/signupSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAKzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,oDAAoD;AACpD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,SAAS;;;;;;kBAiB9C;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC;AAE5E,eAAO,MAAM,iBAAiB,GAAI,GAAG,SAAS;;;;;;;;;;;;EAc7C,CAAC"}
|
|
@@ -1,26 +1,25 @@
|
|
|
1
1
|
import { VERIFICATION_CODE_ALPHABET as e, normalizeVerificationCode as t } from "../utils/domain/verificationCode.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { z as a } from "zod";
|
|
2
|
+
import { zodResolver as n } from "@hookform/resolvers/zod";
|
|
3
|
+
import { useForm as r } from "react-hook-form";
|
|
4
|
+
import { z as i } from "zod";
|
|
6
5
|
//#region src/schemas/signupSchema.ts
|
|
7
|
-
var
|
|
8
|
-
function
|
|
9
|
-
return
|
|
10
|
-
email:
|
|
11
|
-
verificationCode:
|
|
12
|
-
password:
|
|
13
|
-
confirmPassword:
|
|
14
|
-
rememberMe:
|
|
6
|
+
var a = RegExp(`^[${e}]{6}$`);
|
|
7
|
+
function o(e) {
|
|
8
|
+
return i.object({
|
|
9
|
+
email: i.string().min(1, e("validation.emailRequired")).email(e("validation.emailInvalid")),
|
|
10
|
+
verificationCode: i.string().min(1, e("validation.codeRequired")).transform((e) => t(e)).pipe(i.string().regex(a, e("validation.codeInvalid"))),
|
|
11
|
+
password: i.string().min(1, e("validation.passwordRequired")).min(8, e("validation.passwordMin")),
|
|
12
|
+
confirmPassword: i.string().min(1, e("validation.confirmRequired")),
|
|
13
|
+
rememberMe: i.boolean().optional()
|
|
15
14
|
}).refine((e) => e.password === e.confirmPassword, {
|
|
16
15
|
message: e("validation.passwordMismatch"),
|
|
17
16
|
path: ["confirmPassword"]
|
|
18
17
|
});
|
|
19
18
|
}
|
|
20
|
-
var
|
|
21
|
-
let
|
|
22
|
-
return
|
|
23
|
-
resolver:
|
|
19
|
+
var s = (e) => {
|
|
20
|
+
let t = o(e);
|
|
21
|
+
return r({
|
|
22
|
+
resolver: n(t),
|
|
24
23
|
mode: "onChange",
|
|
25
24
|
defaultValues: {
|
|
26
25
|
email: "",
|
|
@@ -32,6 +31,6 @@ var c = () => {
|
|
|
32
31
|
});
|
|
33
32
|
};
|
|
34
33
|
//#endregion
|
|
35
|
-
export {
|
|
34
|
+
export { o as createSignupSchema, s as useInitSignupForm };
|
|
36
35
|
|
|
37
36
|
//# sourceMappingURL=signupSchema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signupSchema.js","names":[],"sources":["../../src/schemas/signupSchema.ts"],"sourcesContent":["import type { TFunction } from \"i18next\";\n\nimport { zodResolver } from \"@hookform/resolvers/zod\";\nimport { normalizeVerificationCode, VERIFICATION_CODE_ALPHABET } from \"nfx-ui/utils/domain/verificationCode\";\nimport { useForm } from \"react-hook-form\";\nimport {
|
|
1
|
+
{"version":3,"file":"signupSchema.js","names":[],"sources":["../../src/schemas/signupSchema.ts"],"sourcesContent":["import type { TFunction } from \"i18next\";\n\nimport { zodResolver } from \"@hookform/resolvers/zod\";\nimport { normalizeVerificationCode, VERIFICATION_CODE_ALPHABET } from \"nfx-ui/utils/domain/verificationCode\";\nimport { useForm } from \"react-hook-form\";\nimport { z } from \"zod\";\n\nconst VERIFICATION_CODE_PATTERN = new RegExp(`^[${VERIFICATION_CODE_ALPHABET}]{6}$`);\n\n/** 注册表单;校验文案由 host 页面传入的 `t` 提供(`validation.*`)。 */\nexport function createSignupSchema(t: TFunction) {\n return z\n .object({\n email: z.string().min(1, t(\"validation.emailRequired\")).email(t(\"validation.emailInvalid\")),\n verificationCode: z\n .string()\n .min(1, t(\"validation.codeRequired\"))\n .transform((value) => normalizeVerificationCode(value))\n .pipe(z.string().regex(VERIFICATION_CODE_PATTERN, t(\"validation.codeInvalid\"))),\n password: z.string().min(1, t(\"validation.passwordRequired\")).min(8, t(\"validation.passwordMin\")),\n confirmPassword: z.string().min(1, t(\"validation.confirmRequired\")),\n rememberMe: z.boolean().optional(),\n })\n .refine((data) => data.password === data.confirmPassword, {\n message: t(\"validation.passwordMismatch\"),\n path: [\"confirmPassword\"],\n });\n}\n\nexport type SignupFormData = z.infer<ReturnType<typeof createSignupSchema>>;\n\nexport const useInitSignupForm = (t: TFunction) => {\n const schema = createSignupSchema(t);\n\n return useForm<SignupFormData>({\n resolver: zodResolver(schema),\n mode: \"onChange\",\n defaultValues: {\n email: \"\",\n verificationCode: \"\",\n password: \"\",\n confirmPassword: \"\",\n rememberMe: false,\n },\n });\n};\n"],"mappings":";;;;;AAOA,IAAM,IAAgC,OAAO,KAAK,EAA2B,MAAM;AAGnF,SAAgB,EAAmB,GAAc;CAC/C,OAAO,EACJ,OAAO;EACN,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,EAAE,0BAA0B,CAAC,CAAC,CAAC,MAAM,EAAE,yBAAyB,CAAC;EAC1F,kBAAkB,EACf,OAAO,CAAC,CACR,IAAI,GAAG,EAAE,yBAAyB,CAAC,CAAC,CACpC,WAAW,MAAU,EAA0B,CAAK,CAAC,CAAC,CACtD,KAAK,EAAE,OAAO,CAAC,CAAC,MAAM,GAA2B,EAAE,wBAAwB,CAAC,CAAC;EAChF,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,EAAE,6BAA6B,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,wBAAwB,CAAC;EAChG,iBAAiB,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,EAAE,4BAA4B,CAAC;EAClE,YAAY,EAAE,QAAQ,CAAC,CAAC,SAAS;CACnC,CAAC,CAAC,CACD,QAAQ,MAAS,EAAK,aAAa,EAAK,iBAAiB;EACxD,SAAS,EAAE,6BAA6B;EACxC,MAAM,CAAC,iBAAiB;CAC1B,CAAC;AACL;AAIA,IAAa,KAAqB,MAAiB;CACjD,IAAM,IAAS,EAAmB,CAAC;CAEnC,OAAO,EAAwB;EAC7B,UAAU,EAAY,CAAM;EAC5B,MAAM;EACN,eAAe;GACb,OAAO;GACP,kBAAkB;GAClB,UAAU;GACV,iBAAiB;GACjB,YAAY;EACd;CACF,CAAC;AACH"}
|