@pisell/private-materials 6.3.30 → 6.3.32
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/build/lowcode/assets-daily.json +11 -11
- package/build/lowcode/assets-dev.json +2 -2
- package/build/lowcode/assets-prod.json +11 -11
- package/build/lowcode/index.js +1 -1
- package/build/lowcode/meta.js +9 -1
- package/build/lowcode/preview.js +146 -146
- package/build/lowcode/render/default/view.css +1 -1
- package/build/lowcode/render/default/view.js +9 -9
- package/build/lowcode/view.css +1 -1
- package/build/lowcode/view.js +9 -9
- package/es/components/appointmentBooking/components/Cart/Item/index.d.ts +1 -1
- package/es/components/appointmentBooking/components/Cart/Item/index.js +3 -2
- package/es/components/appointmentBooking/components/ConfirmInformation/index.js +267 -76
- package/es/components/appointmentBooking/components/ConfirmInformation/index.less +15 -0
- package/es/components/appointmentBooking/hooks.d.ts +1 -0
- package/es/components/appointmentBooking/hooks.js +30 -30
- package/es/components/appointmentBooking/locales.d.ts +3 -0
- package/es/components/appointmentBooking/locales.js +9 -6
- package/es/components/booking/addons/model.d.ts +10 -1
- package/es/components/booking/components/footer/index.js +4 -1
- package/es/components/booking/components/footer/utils.js +62 -46
- package/es/components/booking/forms/model.d.ts +10 -1
- package/es/components/booking/info/clientVariant/hooks/useClientFn.js +2 -2
- package/es/components/booking/info/clientVariant/vertical/index.js +1 -1
- package/es/components/booking/info/main.js +3 -2
- package/es/components/booking/info/model.d.ts +10 -1
- package/es/components/booking/info/model.js +5 -0
- package/es/components/booking/info/service/addService/utils.d.ts +1 -1
- package/es/components/booking/info2/index.js +3 -2
- package/es/components/booking/info2/service/addService/utils.d.ts +1 -1
- package/es/components/booking/info2/service/contactInfoMode/index.d.ts +2 -0
- package/es/components/booking/info2/service/contactInfoMode/index.js +94 -0
- package/es/components/booking/locales.d.ts +3 -0
- package/es/components/booking/locales.js +9 -3
- package/es/components/booking/model.d.ts +13 -1
- package/es/components/booking/model.js +3 -0
- package/es/components/booking/notes/model.d.ts +10 -1
- package/es/components/booking/payments/model.d.ts +10 -1
- package/es/components/eftposPay/amount.d.ts +1 -1
- package/es/components/eftposPay/device.d.ts +1 -1
- package/es/components/eftposPay/store/index.d.ts +2 -2
- package/es/components/pay/toC/model.d.ts +9 -1
- package/es/components/schedules/model.d.ts +9 -1
- package/es/components/ticketBooking/components/ticketBooking/index.less +2 -1
- package/es/components/wallet/Detail/model.d.ts +13 -1
- package/es/components/wallet/DiscountCard/model.d.ts +14 -1
- package/es/components/wallet/PointCard/model.d.ts +13 -1
- package/es/components/wallet/RechargeableCard/model.d.ts +29 -1
- package/es/components/wallet/Voucher/model.d.ts +13 -1
- package/es/components/wallet/model.d.ts +9 -1
- package/es/index.d.ts +3 -0
- package/es/index.js +4 -1
- package/es/plus/clientName/index.d.ts +4 -0
- package/es/plus/clientName/index.js +18 -0
- package/es/plus/clientName/index.less +10 -0
- package/es/plus/clientName/type.d.ts +13 -0
- package/es/plus/clientName/type.js +1 -0
- package/es/plus/clientName/utils.d.ts +2 -0
- package/es/plus/clientName/utils.js +18 -0
- package/es/plus/contactInfo/components/Avatar/index.d.ts +10 -0
- package/es/plus/contactInfo/components/Avatar/index.js +30 -0
- package/es/plus/contactInfo/components/SwipeAction/index.d.ts +46 -0
- package/es/plus/contactInfo/components/SwipeAction/index.js +360 -0
- package/es/plus/contactInfo/components/SwipeAction/index.less +74 -0
- package/es/plus/contactInfo/index.d.ts +6 -0
- package/es/plus/contactInfo/index.js +198 -0
- package/es/plus/contactInfo/index.less +621 -0
- package/es/plus/contactInfo/locales.d.ts +15 -0
- package/es/plus/contactInfo/locales.js +14 -0
- package/es/plus/contactInfo/types.d.ts +91 -0
- package/es/plus/contactInfo/types.js +1 -0
- package/es/plus/contactInfo/utils.d.ts +7 -0
- package/es/plus/contactInfo/utils.js +50 -0
- package/es/plus/contactInfoModal/ContactInfoContent.d.ts +3 -0
- package/es/plus/contactInfoModal/ContactInfoContent.js +74 -0
- package/es/plus/contactInfoModal/index.d.ts +40 -0
- package/es/plus/contactInfoModal/index.js +154 -0
- package/es/plus/contactInfoModal/index.less +19 -0
- package/es/plus/contactInfoModal/locales.d.ts +66 -0
- package/es/plus/contactInfoModal/locales.js +65 -0
- package/es/pro/Login2.0/AuthModal.d.ts +143 -0
- package/es/pro/Login2.0/AuthModal.js +624 -0
- package/es/pro/Login2.0/Login2.d.ts +61 -0
- package/es/pro/Login2.0/Login2.js +2157 -0
- package/es/pro/Login2.0/Register2.d.ts +65 -0
- package/es/pro/Login2.0/Register2.js +1501 -0
- package/es/pro/Login2.0/components/ForgotPasswordFlow.d.ts +31 -0
- package/es/pro/Login2.0/components/ForgotPasswordFlow.js +330 -0
- package/es/pro/Login2.0/components/LegalTerms.d.ts +8 -0
- package/es/pro/Login2.0/components/LegalTerms.js +51 -0
- package/es/pro/Login2.0/components/LegalTerms.less +74 -0
- package/es/pro/Login2.0/components/LoginCodeInput.d.ts +27 -0
- package/es/pro/Login2.0/components/LoginCodeInput.js +207 -0
- package/es/pro/Login2.0/components/OAuthButtonGroup.d.ts +22 -0
- package/es/pro/Login2.0/components/OAuthButtonGroup.js +55 -0
- package/es/pro/Login2.0/components/PhoneInput.d.ts +53 -0
- package/es/pro/Login2.0/components/PhoneInput.js +414 -0
- package/es/pro/Login2.0/components/PhoneInput.less +148 -0
- package/es/pro/Login2.0/components/phoneValidation.d.ts +17 -0
- package/es/pro/Login2.0/components/phoneValidation.js +228 -0
- package/es/pro/Login2.0/hooks/index.d.ts +2 -0
- package/es/pro/Login2.0/hooks/index.js +1 -0
- package/es/pro/Login2.0/hooks/usePasswordValidationRules.d.ts +24 -0
- package/es/pro/Login2.0/hooks/usePasswordValidationRules.js +87 -0
- package/es/pro/Login2.0/hooks/useRegisterFlow.d.ts +39 -0
- package/es/pro/Login2.0/hooks/useRegisterFlow.js +158 -0
- package/es/pro/Login2.0/hooks/useRegistrationMethods.d.ts +9 -0
- package/es/pro/Login2.0/hooks/useRegistrationMethods.js +31 -0
- package/es/pro/Login2.0/index.js +8 -0
- package/es/pro/Login2.0/index.less +993 -0
- package/es/pro/Login2.0/locales.d.ts +543 -0
- package/es/pro/Login2.0/locales.js +622 -0
- package/es/pro/Login2.0/shared/Header.d.ts +11 -0
- package/es/pro/Login2.0/shared/Header.js +42 -0
- package/es/pro/Login2.0/shared/OAuthButtons.d.ts +11 -0
- package/es/pro/Login2.0/shared/OAuthButtons.js +59 -0
- package/es/pro/Login2.0/shared/registerFlow.d.ts +116 -0
- package/es/pro/Login2.0/shared/registerFlow.js +171 -0
- package/es/pro/Login2.0/shared/types.d.ts +232 -0
- package/es/pro/Login2.0/shared/types.js +1 -0
- package/es/pro/Login2.0/steps/CodeInput.d.ts +24 -0
- package/es/pro/Login2.0/steps/CodeInput.js +209 -0
- package/es/pro/Login2.0/steps/EmailAlreadyRegistered.d.ts +12 -0
- package/es/pro/Login2.0/steps/EmailAlreadyRegistered.js +35 -0
- package/es/pro/Login2.0/steps/EmailLinkAlreadyUsed.d.ts +7 -0
- package/es/pro/Login2.0/steps/EmailLinkAlreadyUsed.js +25 -0
- package/es/pro/Login2.0/steps/EmailLinkExpired.d.ts +9 -0
- package/es/pro/Login2.0/steps/EmailLinkExpired.js +33 -0
- package/es/pro/Login2.0/steps/SetPassword.d.ts +19 -0
- package/es/pro/Login2.0/steps/SetPassword.js +148 -0
- package/es/pro/Login2.0/steps/VerificationSuccess.d.ts +8 -0
- package/es/pro/Login2.0/steps/VerificationSuccess.js +35 -0
- package/es/pro/Login2.0/steps/VerifyingEmailLink.d.ts +7 -0
- package/es/pro/Login2.0/steps/VerifyingEmailLink.js +17 -0
- package/es/pro/Login2.0/steps/WaitEmailLink.d.ts +18 -0
- package/es/pro/Login2.0/steps/WaitEmailLink.js +54 -0
- package/es/pro/Login2.0/steps/index.d.ts +19 -0
- package/es/pro/Login2.0/steps/index.js +11 -0
- package/es/pro/Login2.0/steps/steps.less +423 -0
- package/es/pro/Login2.0/types.d.ts +167 -0
- package/es/pro/Login2.0/types.js +1 -0
- package/lib/components/appointmentBooking/components/Cart/Item/index.d.ts +1 -1
- package/lib/components/appointmentBooking/components/Cart/Item/index.js +5 -3
- package/lib/components/appointmentBooking/components/ConfirmInformation/index.js +151 -13
- package/lib/components/appointmentBooking/components/ConfirmInformation/index.less +15 -0
- package/lib/components/appointmentBooking/hooks.d.ts +1 -0
- package/lib/components/appointmentBooking/hooks.js +73 -35
- package/lib/components/appointmentBooking/locales.d.ts +3 -0
- package/lib/components/appointmentBooking/locales.js +6 -3
- package/lib/components/booking/addons/model.d.ts +10 -1
- package/lib/components/booking/components/footer/index.js +4 -1
- package/lib/components/booking/components/footer/utils.js +70 -38
- package/lib/components/booking/forms/model.d.ts +10 -1
- package/lib/components/booking/info/clientVariant/hooks/useClientFn.js +1 -1
- package/lib/components/booking/info/clientVariant/vertical/index.js +34 -17
- package/lib/components/booking/info/main.js +5 -4
- package/lib/components/booking/info/model.d.ts +10 -1
- package/lib/components/booking/info/model.js +5 -0
- package/lib/components/booking/info/service/addService/utils.d.ts +1 -1
- package/lib/components/booking/info2/index.js +5 -4
- package/lib/components/booking/info2/service/addService/utils.d.ts +1 -1
- package/lib/components/booking/info2/service/contactInfoMode/index.d.ts +2 -0
- package/lib/components/booking/info2/service/contactInfoMode/index.js +111 -0
- package/lib/components/booking/locales.d.ts +3 -0
- package/lib/components/booking/locales.js +9 -3
- package/lib/components/booking/model.d.ts +13 -1
- package/lib/components/booking/model.js +3 -0
- package/lib/components/booking/notes/model.d.ts +10 -1
- package/lib/components/booking/payments/model.d.ts +10 -1
- package/lib/components/eftposPay/amount.d.ts +1 -1
- package/lib/components/eftposPay/device.d.ts +1 -1
- package/lib/components/eftposPay/store/index.d.ts +2 -2
- package/lib/components/pay/toC/model.d.ts +9 -1
- package/lib/components/schedules/model.d.ts +9 -1
- package/lib/components/ticketBooking/components/ticketBooking/index.less +2 -1
- package/lib/components/wallet/Detail/model.d.ts +13 -1
- package/lib/components/wallet/DiscountCard/model.d.ts +14 -1
- package/lib/components/wallet/PointCard/model.d.ts +13 -1
- package/lib/components/wallet/RechargeableCard/model.d.ts +29 -1
- package/lib/components/wallet/Voucher/model.d.ts +13 -1
- package/lib/components/wallet/model.d.ts +9 -1
- package/lib/index.d.ts +3 -0
- package/lib/index.js +13 -0
- package/lib/plus/clientName/index.d.ts +4 -0
- package/lib/plus/clientName/index.js +53 -0
- package/lib/plus/clientName/index.less +10 -0
- package/lib/plus/clientName/type.d.ts +13 -0
- package/lib/plus/clientName/type.js +17 -0
- package/lib/plus/clientName/utils.d.ts +2 -0
- package/lib/plus/clientName/utils.js +43 -0
- package/lib/plus/contactInfo/components/Avatar/index.d.ts +10 -0
- package/lib/plus/contactInfo/components/Avatar/index.js +56 -0
- package/lib/plus/contactInfo/components/SwipeAction/index.d.ts +46 -0
- package/lib/plus/contactInfo/components/SwipeAction/index.js +373 -0
- package/lib/plus/contactInfo/components/SwipeAction/index.less +74 -0
- package/lib/plus/contactInfo/index.d.ts +6 -0
- package/lib/plus/contactInfo/index.js +226 -0
- package/lib/plus/contactInfo/index.less +621 -0
- package/lib/plus/contactInfo/locales.d.ts +15 -0
- package/lib/plus/contactInfo/locales.js +38 -0
- package/lib/plus/contactInfo/types.d.ts +91 -0
- package/lib/plus/contactInfo/types.js +17 -0
- package/lib/plus/contactInfo/utils.d.ts +7 -0
- package/lib/plus/contactInfo/utils.js +64 -0
- package/lib/plus/contactInfoModal/ContactInfoContent.d.ts +3 -0
- package/lib/plus/contactInfoModal/ContactInfoContent.js +129 -0
- package/lib/plus/contactInfoModal/index.d.ts +40 -0
- package/lib/plus/contactInfoModal/index.js +138 -0
- package/lib/plus/contactInfoModal/index.less +19 -0
- package/lib/plus/contactInfoModal/locales.d.ts +66 -0
- package/lib/plus/contactInfoModal/locales.js +89 -0
- package/lib/pro/Login2.0/AuthModal.d.ts +143 -0
- package/lib/pro/Login2.0/AuthModal.js +498 -0
- package/lib/pro/Login2.0/Login2.d.ts +61 -0
- package/lib/pro/Login2.0/Login2.js +1468 -0
- package/lib/pro/Login2.0/Register2.d.ts +65 -0
- package/lib/pro/Login2.0/Register2.js +1062 -0
- package/lib/pro/Login2.0/components/ForgotPasswordFlow.d.ts +31 -0
- package/lib/pro/Login2.0/components/ForgotPasswordFlow.js +213 -0
- package/lib/pro/Login2.0/components/LegalTerms.d.ts +8 -0
- package/lib/pro/Login2.0/components/LegalTerms.js +76 -0
- package/lib/pro/Login2.0/components/LegalTerms.less +74 -0
- package/lib/pro/Login2.0/components/LoginCodeInput.d.ts +27 -0
- package/lib/pro/Login2.0/components/LoginCodeInput.js +161 -0
- package/lib/pro/Login2.0/components/OAuthButtonGroup.d.ts +22 -0
- package/lib/pro/Login2.0/components/OAuthButtonGroup.js +87 -0
- package/lib/pro/Login2.0/components/PhoneInput.d.ts +53 -0
- package/lib/pro/Login2.0/components/PhoneInput.js +263 -0
- package/lib/pro/Login2.0/components/PhoneInput.less +148 -0
- package/lib/pro/Login2.0/components/phoneValidation.d.ts +17 -0
- package/lib/pro/Login2.0/components/phoneValidation.js +153 -0
- package/lib/pro/Login2.0/hooks/index.d.ts +2 -0
- package/lib/pro/Login2.0/hooks/index.js +29 -0
- package/lib/pro/Login2.0/hooks/usePasswordValidationRules.d.ts +24 -0
- package/lib/pro/Login2.0/hooks/usePasswordValidationRules.js +140 -0
- package/lib/pro/Login2.0/hooks/useRegisterFlow.d.ts +39 -0
- package/lib/pro/Login2.0/hooks/useRegisterFlow.js +149 -0
- package/lib/pro/Login2.0/hooks/useRegistrationMethods.d.ts +9 -0
- package/lib/pro/Login2.0/hooks/useRegistrationMethods.js +51 -0
- package/lib/pro/Login2.0/index.js +45 -0
- package/lib/pro/Login2.0/index.less +993 -0
- package/lib/pro/Login2.0/locales.d.ts +543 -0
- package/lib/pro/Login2.0/locales.js +646 -0
- package/lib/pro/Login2.0/shared/Header.d.ts +11 -0
- package/lib/pro/Login2.0/shared/Header.js +81 -0
- package/lib/pro/Login2.0/shared/OAuthButtons.d.ts +11 -0
- package/lib/pro/Login2.0/shared/OAuthButtons.js +78 -0
- package/lib/pro/Login2.0/shared/registerFlow.d.ts +116 -0
- package/lib/pro/Login2.0/shared/registerFlow.js +235 -0
- package/lib/pro/Login2.0/shared/types.d.ts +232 -0
- package/lib/pro/Login2.0/shared/types.js +17 -0
- package/lib/pro/Login2.0/steps/CodeInput.d.ts +24 -0
- package/lib/pro/Login2.0/steps/CodeInput.js +160 -0
- package/lib/pro/Login2.0/steps/EmailAlreadyRegistered.d.ts +12 -0
- package/lib/pro/Login2.0/steps/EmailAlreadyRegistered.js +46 -0
- package/lib/pro/Login2.0/steps/EmailLinkAlreadyUsed.d.ts +7 -0
- package/lib/pro/Login2.0/steps/EmailLinkAlreadyUsed.js +51 -0
- package/lib/pro/Login2.0/steps/EmailLinkExpired.d.ts +9 -0
- package/lib/pro/Login2.0/steps/EmailLinkExpired.js +51 -0
- package/lib/pro/Login2.0/steps/SetPassword.d.ts +19 -0
- package/lib/pro/Login2.0/steps/SetPassword.js +131 -0
- package/lib/pro/Login2.0/steps/VerificationSuccess.d.ts +8 -0
- package/lib/pro/Login2.0/steps/VerificationSuccess.js +49 -0
- package/lib/pro/Login2.0/steps/VerifyingEmailLink.d.ts +7 -0
- package/lib/pro/Login2.0/steps/VerifyingEmailLink.js +41 -0
- package/lib/pro/Login2.0/steps/WaitEmailLink.d.ts +18 -0
- package/lib/pro/Login2.0/steps/WaitEmailLink.js +67 -0
- package/lib/pro/Login2.0/steps/index.d.ts +19 -0
- package/lib/pro/Login2.0/steps/index.js +60 -0
- package/lib/pro/Login2.0/steps/steps.less +423 -0
- package/lib/pro/Login2.0/types.d.ts +167 -0
- package/lib/pro/Login2.0/types.js +17 -0
- package/lowcode/authmodal/meta.ts +395 -0
- package/lowcode/contact-info/fragments/cardStyle.ts +68 -0
- package/lowcode/contact-info/fragments/nameStyle.ts +33 -0
- package/lowcode/contact-info/fragments/pisellAvatar.ts +103 -0
- package/lowcode/contact-info/fragments/textStyle.ts +33 -0
- package/lowcode/contact-info/meta.ts +199 -0
- package/lowcode/contact-info-modal/meta.ts +98 -0
- package/lowcode/login2/CONFIG.md +447 -0
- package/lowcode/login2/TEST_CONFIG.md +324 -0
- package/lowcode/login2/VERIFICATION_METHODS.md +364 -0
- package/lowcode/login2/meta.ts +560 -0
- package/lowcode/login2/snippets.ts +124 -0
- package/lowcode/register2/meta.ts +562 -0
- package/lowcode/register2/snippets.ts +257 -0
- package/package.json +7 -5
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// src/pro/Login2.0/components/phoneValidation.ts
|
|
20
|
+
var phoneValidation_exports = {};
|
|
21
|
+
__export(phoneValidation_exports, {
|
|
22
|
+
createPhoneValidationRules: () => createPhoneValidationRules,
|
|
23
|
+
validatePhoneNumber: () => validatePhoneNumber
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(phoneValidation_exports);
|
|
26
|
+
var validatePhoneNumber = async (value, getText) => {
|
|
27
|
+
if (!value) {
|
|
28
|
+
throw new Error(getText("pisell-phone-validation-required"));
|
|
29
|
+
}
|
|
30
|
+
let phone;
|
|
31
|
+
let countryCode;
|
|
32
|
+
if (typeof value === "string") {
|
|
33
|
+
if (!value.startsWith("+")) {
|
|
34
|
+
throw new Error(getText("pisell-phone-validation-invalid"));
|
|
35
|
+
}
|
|
36
|
+
const match = value.match(/^\+(\d{1,4})(\d+)$/);
|
|
37
|
+
if (!match) {
|
|
38
|
+
throw new Error(getText("pisell-phone-validation-invalid"));
|
|
39
|
+
}
|
|
40
|
+
countryCode = match[1];
|
|
41
|
+
phone = match[2];
|
|
42
|
+
} else {
|
|
43
|
+
phone = value.phone;
|
|
44
|
+
countryCode = value.country_calling_code;
|
|
45
|
+
}
|
|
46
|
+
if (!phone || !countryCode) {
|
|
47
|
+
throw new Error(getText("pisell-phone-validation-required"));
|
|
48
|
+
}
|
|
49
|
+
switch (countryCode) {
|
|
50
|
+
case "86":
|
|
51
|
+
if (!/^1[3-9]\d{9}$/.test(phone)) {
|
|
52
|
+
throw new Error(getText("pisell-phone-validation-china"));
|
|
53
|
+
}
|
|
54
|
+
break;
|
|
55
|
+
case "852":
|
|
56
|
+
if (!/^[5-9]\d{7}$/.test(phone)) {
|
|
57
|
+
throw new Error(getText("pisell-phone-validation-hongkong"));
|
|
58
|
+
}
|
|
59
|
+
break;
|
|
60
|
+
case "853":
|
|
61
|
+
if (!/^6\d{7}$/.test(phone)) {
|
|
62
|
+
throw new Error(getText("pisell-phone-validation-macau"));
|
|
63
|
+
}
|
|
64
|
+
break;
|
|
65
|
+
case "886":
|
|
66
|
+
if (!/^9\d{8}$/.test(phone)) {
|
|
67
|
+
throw new Error(getText("pisell-phone-validation-taiwan"));
|
|
68
|
+
}
|
|
69
|
+
break;
|
|
70
|
+
case "1":
|
|
71
|
+
if (!/^\d{10}$/.test(phone)) {
|
|
72
|
+
throw new Error(getText("pisell-phone-validation-us-canada"));
|
|
73
|
+
}
|
|
74
|
+
break;
|
|
75
|
+
case "44":
|
|
76
|
+
if (!/^7\d{9}$/.test(phone)) {
|
|
77
|
+
throw new Error(getText("pisell-phone-validation-uk"));
|
|
78
|
+
}
|
|
79
|
+
break;
|
|
80
|
+
case "61":
|
|
81
|
+
if (!/^4\d{8,9}$/.test(phone)) {
|
|
82
|
+
throw new Error(getText("pisell-phone-validation-australia"));
|
|
83
|
+
}
|
|
84
|
+
break;
|
|
85
|
+
case "81":
|
|
86
|
+
if (!/^[789]0\d{8}$/.test(phone)) {
|
|
87
|
+
throw new Error(getText("pisell-phone-validation-japan"));
|
|
88
|
+
}
|
|
89
|
+
break;
|
|
90
|
+
case "82":
|
|
91
|
+
if (!/^1[0-9]\d{7,8}$/.test(phone)) {
|
|
92
|
+
throw new Error(getText("pisell-phone-validation-korea"));
|
|
93
|
+
}
|
|
94
|
+
break;
|
|
95
|
+
case "65":
|
|
96
|
+
if (!/^[89]\d{7}$/.test(phone)) {
|
|
97
|
+
throw new Error(getText("pisell-phone-validation-singapore"));
|
|
98
|
+
}
|
|
99
|
+
break;
|
|
100
|
+
case "60":
|
|
101
|
+
if (!/^1[0-9]\d{7,8}$/.test(phone)) {
|
|
102
|
+
throw new Error(getText("pisell-phone-validation-malaysia"));
|
|
103
|
+
}
|
|
104
|
+
break;
|
|
105
|
+
case "66":
|
|
106
|
+
if (!/^[689]\d{8}$/.test(phone)) {
|
|
107
|
+
throw new Error(getText("pisell-phone-validation-thailand"));
|
|
108
|
+
}
|
|
109
|
+
break;
|
|
110
|
+
case "84":
|
|
111
|
+
if (!/^[3579]\d{8}$/.test(phone)) {
|
|
112
|
+
throw new Error(getText("pisell-phone-validation-vietnam"));
|
|
113
|
+
}
|
|
114
|
+
break;
|
|
115
|
+
case "63":
|
|
116
|
+
if (!/^9\d{9}$/.test(phone)) {
|
|
117
|
+
throw new Error(getText("pisell-phone-validation-philippines"));
|
|
118
|
+
}
|
|
119
|
+
break;
|
|
120
|
+
case "62":
|
|
121
|
+
if (!/^8\d{8,11}$/.test(phone)) {
|
|
122
|
+
throw new Error(getText("pisell-phone-validation-indonesia"));
|
|
123
|
+
}
|
|
124
|
+
break;
|
|
125
|
+
case "91":
|
|
126
|
+
if (!/^[6-9]\d{9}$/.test(phone)) {
|
|
127
|
+
throw new Error(getText("pisell-phone-validation-india"));
|
|
128
|
+
}
|
|
129
|
+
break;
|
|
130
|
+
default:
|
|
131
|
+
if (!/^\d{6,15}$/.test(phone)) {
|
|
132
|
+
throw new Error(getText("pisell-phone-validation-invalid"));
|
|
133
|
+
}
|
|
134
|
+
break;
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
var createPhoneValidationRules = (getText, required = true) => {
|
|
138
|
+
const rules = [];
|
|
139
|
+
rules.push({
|
|
140
|
+
validator: (_, value) => {
|
|
141
|
+
if (!value && !required) {
|
|
142
|
+
return Promise.resolve();
|
|
143
|
+
}
|
|
144
|
+
return validatePhoneNumber(value, getText);
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
return rules;
|
|
148
|
+
};
|
|
149
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
150
|
+
0 && (module.exports = {
|
|
151
|
+
createPhoneValidationRules,
|
|
152
|
+
validatePhoneNumber
|
|
153
|
+
});
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// src/pro/Login2.0/hooks/index.ts
|
|
20
|
+
var hooks_exports = {};
|
|
21
|
+
__export(hooks_exports, {
|
|
22
|
+
useRegisterFlow: () => import_useRegisterFlow.useRegisterFlow
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(hooks_exports);
|
|
25
|
+
var import_useRegisterFlow = require("./useRegisterFlow");
|
|
26
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
27
|
+
0 && (module.exports = {
|
|
28
|
+
useRegisterFlow
|
|
29
|
+
});
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Rule } from 'antd/es/form';
|
|
2
|
+
export interface PasswordRuleConfig {
|
|
3
|
+
minLength?: number;
|
|
4
|
+
requireUppercase?: boolean;
|
|
5
|
+
requireLowercase?: boolean;
|
|
6
|
+
requireNumber?: boolean;
|
|
7
|
+
requireSpecialCharacters?: boolean;
|
|
8
|
+
}
|
|
9
|
+
interface PasswordRuleMessages {
|
|
10
|
+
required?: string;
|
|
11
|
+
minLength?: string;
|
|
12
|
+
requireUppercase?: string;
|
|
13
|
+
requireLowercase?: string;
|
|
14
|
+
requireNumber?: string;
|
|
15
|
+
requireSpecialCharacters?: string;
|
|
16
|
+
summary?: string;
|
|
17
|
+
}
|
|
18
|
+
interface UsePasswordValidationRulesOptions {
|
|
19
|
+
translate?: (key: string) => string;
|
|
20
|
+
fallbackMinLength?: number;
|
|
21
|
+
messageKeys?: PasswordRuleMessages;
|
|
22
|
+
}
|
|
23
|
+
export declare const usePasswordValidationRules: (passwordRules?: PasswordRuleConfig, options?: UsePasswordValidationRulesOptions) => Rule[];
|
|
24
|
+
export default usePasswordValidationRules;
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// src/pro/Login2.0/hooks/usePasswordValidationRules.ts
|
|
20
|
+
var usePasswordValidationRules_exports = {};
|
|
21
|
+
__export(usePasswordValidationRules_exports, {
|
|
22
|
+
default: () => usePasswordValidationRules_default,
|
|
23
|
+
usePasswordValidationRules: () => usePasswordValidationRules
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(usePasswordValidationRules_exports);
|
|
26
|
+
var import_react = require("react");
|
|
27
|
+
var DEFAULT_MESSAGES = {
|
|
28
|
+
required: "Password is required",
|
|
29
|
+
minLength: "Password must be at least {length} characters long",
|
|
30
|
+
requireUppercase: "at least one uppercase letter",
|
|
31
|
+
requireLowercase: "at least one lowercase letter",
|
|
32
|
+
requireNumber: "at least one number",
|
|
33
|
+
requireSpecialCharacters: "at least one special character",
|
|
34
|
+
summary: "Password must contain: {requirements}"
|
|
35
|
+
};
|
|
36
|
+
var formatMessage = (template, variables) => Object.keys(variables).reduce(
|
|
37
|
+
(message, key) => message.replace(
|
|
38
|
+
new RegExp(`{${key}}`, "g"),
|
|
39
|
+
String(variables[key] ?? "")
|
|
40
|
+
),
|
|
41
|
+
template
|
|
42
|
+
);
|
|
43
|
+
var resolveMessage = (key, translate, messageKeys) => {
|
|
44
|
+
const messageKey = messageKeys == null ? void 0 : messageKeys[key];
|
|
45
|
+
if (messageKey && translate) {
|
|
46
|
+
const translated = translate(messageKey);
|
|
47
|
+
if (translated) {
|
|
48
|
+
return translated;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return DEFAULT_MESSAGES[key];
|
|
52
|
+
};
|
|
53
|
+
var usePasswordValidationRules = (passwordRules, options) => {
|
|
54
|
+
const translate = options == null ? void 0 : options.translate;
|
|
55
|
+
const messageKeys = options == null ? void 0 : options.messageKeys;
|
|
56
|
+
const fallbackMinLength = options == null ? void 0 : options.fallbackMinLength;
|
|
57
|
+
return (0, import_react.useMemo)(() => {
|
|
58
|
+
const rules = [
|
|
59
|
+
{
|
|
60
|
+
required: true,
|
|
61
|
+
message: resolveMessage("required", translate, messageKeys)
|
|
62
|
+
}
|
|
63
|
+
];
|
|
64
|
+
const effectiveRules = {
|
|
65
|
+
...passwordRules
|
|
66
|
+
};
|
|
67
|
+
if (effectiveRules.minLength == null && fallbackMinLength) {
|
|
68
|
+
effectiveRules.minLength = fallbackMinLength;
|
|
69
|
+
}
|
|
70
|
+
if (effectiveRules.minLength) {
|
|
71
|
+
const rawMessage = resolveMessage("minLength", translate, messageKeys);
|
|
72
|
+
rules.push({
|
|
73
|
+
min: effectiveRules.minLength,
|
|
74
|
+
message: formatMessage(rawMessage, { length: effectiveRules.minLength })
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
if (effectiveRules.requireUppercase || effectiveRules.requireLowercase || effectiveRules.requireNumber || effectiveRules.requireSpecialCharacters) {
|
|
78
|
+
rules.push({
|
|
79
|
+
validator: (_rule, value) => {
|
|
80
|
+
if (!value) {
|
|
81
|
+
return Promise.resolve();
|
|
82
|
+
}
|
|
83
|
+
const requirements = [];
|
|
84
|
+
if (effectiveRules.requireUppercase && !/[A-Z]/.test(value)) {
|
|
85
|
+
requirements.push(
|
|
86
|
+
resolveMessage("requireUppercase", translate, messageKeys)
|
|
87
|
+
);
|
|
88
|
+
}
|
|
89
|
+
if (effectiveRules.requireLowercase && !/[a-z]/.test(value)) {
|
|
90
|
+
requirements.push(
|
|
91
|
+
resolveMessage("requireLowercase", translate, messageKeys)
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
if (effectiveRules.requireNumber && !/\d/.test(value)) {
|
|
95
|
+
requirements.push(
|
|
96
|
+
resolveMessage("requireNumber", translate, messageKeys)
|
|
97
|
+
);
|
|
98
|
+
}
|
|
99
|
+
if (effectiveRules.requireSpecialCharacters && !/[!@#$%^&*]/.test(value)) {
|
|
100
|
+
requirements.push(
|
|
101
|
+
resolveMessage("requireSpecialCharacters", translate, messageKeys)
|
|
102
|
+
);
|
|
103
|
+
}
|
|
104
|
+
if (requirements.length > 0) {
|
|
105
|
+
const template = resolveMessage("summary", translate, messageKeys);
|
|
106
|
+
return Promise.reject(
|
|
107
|
+
new Error(
|
|
108
|
+
formatMessage(template, {
|
|
109
|
+
requirements: requirements.join(", ")
|
|
110
|
+
})
|
|
111
|
+
)
|
|
112
|
+
);
|
|
113
|
+
}
|
|
114
|
+
return Promise.resolve();
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
return rules;
|
|
119
|
+
}, [
|
|
120
|
+
fallbackMinLength,
|
|
121
|
+
messageKeys == null ? void 0 : messageKeys.requireLowercase,
|
|
122
|
+
messageKeys == null ? void 0 : messageKeys.requireNumber,
|
|
123
|
+
messageKeys == null ? void 0 : messageKeys.requireSpecialCharacters,
|
|
124
|
+
messageKeys == null ? void 0 : messageKeys.requireUppercase,
|
|
125
|
+
messageKeys == null ? void 0 : messageKeys.minLength,
|
|
126
|
+
messageKeys == null ? void 0 : messageKeys.required,
|
|
127
|
+
messageKeys == null ? void 0 : messageKeys.summary,
|
|
128
|
+
passwordRules == null ? void 0 : passwordRules.minLength,
|
|
129
|
+
passwordRules == null ? void 0 : passwordRules.requireLowercase,
|
|
130
|
+
passwordRules == null ? void 0 : passwordRules.requireNumber,
|
|
131
|
+
passwordRules == null ? void 0 : passwordRules.requireSpecialCharacters,
|
|
132
|
+
passwordRules == null ? void 0 : passwordRules.requireUppercase,
|
|
133
|
+
translate
|
|
134
|
+
]);
|
|
135
|
+
};
|
|
136
|
+
var usePasswordValidationRules_default = usePasswordValidationRules;
|
|
137
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
138
|
+
0 && (module.exports = {
|
|
139
|
+
usePasswordValidationRules
|
|
140
|
+
});
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { RegisterStep, RegisterFlowData, RegisterFlowConfig, getStepDefinition } from '../shared/registerFlow';
|
|
2
|
+
import type { AuthMethodType } from '../shared/types';
|
|
3
|
+
export interface UseRegisterFlowOptions {
|
|
4
|
+
/** 账号类型 */
|
|
5
|
+
accountType: AuthMethodType;
|
|
6
|
+
/** 邮箱配置 */
|
|
7
|
+
emailConfig?: {
|
|
8
|
+
enable_email?: boolean;
|
|
9
|
+
require_email_verification?: boolean;
|
|
10
|
+
};
|
|
11
|
+
/** 手机配置 */
|
|
12
|
+
phoneConfig?: {
|
|
13
|
+
enable_phone_number?: boolean;
|
|
14
|
+
require_phone_verification?: boolean;
|
|
15
|
+
};
|
|
16
|
+
/** 初始账号 */
|
|
17
|
+
initialAccount?: string;
|
|
18
|
+
/** 步骤变化回调 */
|
|
19
|
+
onStepChange?: (step: RegisterStep, data: RegisterFlowData) => void;
|
|
20
|
+
/** 完成回调 */
|
|
21
|
+
onComplete?: (data: RegisterFlowData) => void;
|
|
22
|
+
}
|
|
23
|
+
export interface UseRegisterFlowReturn {
|
|
24
|
+
/** 当前流程数据 */
|
|
25
|
+
flowData: RegisterFlowData;
|
|
26
|
+
/** 当前步骤定义 */
|
|
27
|
+
currentStepDef: ReturnType<typeof getStepDefinition>;
|
|
28
|
+
/** 流程配置 */
|
|
29
|
+
flowConfig: RegisterFlowConfig;
|
|
30
|
+
/** 跳转到指定步骤 */
|
|
31
|
+
goToStep: (step: RegisterStep, updates?: Partial<RegisterFlowData>) => void;
|
|
32
|
+
/** 更新流程数据 */
|
|
33
|
+
updateFlowData: (updates: Partial<RegisterFlowData>) => void;
|
|
34
|
+
/** 重置流程 */
|
|
35
|
+
resetFlow: () => void;
|
|
36
|
+
/** 处理错误 */
|
|
37
|
+
handleError: (code: string, message: string, targetStep?: RegisterStep) => void;
|
|
38
|
+
}
|
|
39
|
+
export declare function useRegisterFlow(options: UseRegisterFlowOptions): UseRegisterFlowReturn;
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// src/pro/Login2.0/hooks/useRegisterFlow.ts
|
|
20
|
+
var useRegisterFlow_exports = {};
|
|
21
|
+
__export(useRegisterFlow_exports, {
|
|
22
|
+
useRegisterFlow: () => useRegisterFlow
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(useRegisterFlow_exports);
|
|
25
|
+
var import_react = require("react");
|
|
26
|
+
var import_registerFlow = require("../shared/registerFlow");
|
|
27
|
+
function useRegisterFlow(options) {
|
|
28
|
+
const {
|
|
29
|
+
accountType,
|
|
30
|
+
emailConfig,
|
|
31
|
+
phoneConfig,
|
|
32
|
+
initialAccount = "",
|
|
33
|
+
onStepChange,
|
|
34
|
+
onComplete
|
|
35
|
+
} = options;
|
|
36
|
+
const onStepChangeRef = (0, import_react.useRef)(onStepChange);
|
|
37
|
+
const onCompleteRef = (0, import_react.useRef)(onComplete);
|
|
38
|
+
(0, import_react.useEffect)(() => {
|
|
39
|
+
onStepChangeRef.current = onStepChange;
|
|
40
|
+
onCompleteRef.current = onComplete;
|
|
41
|
+
}, [onStepChange, onComplete]);
|
|
42
|
+
const verificationMethod = (0, import_react.useMemo)(
|
|
43
|
+
() => (0, import_registerFlow.determineVerificationMethod)(accountType, emailConfig, phoneConfig),
|
|
44
|
+
[accountType, emailConfig, phoneConfig]
|
|
45
|
+
);
|
|
46
|
+
const flowConfig = (0, import_react.useMemo)(
|
|
47
|
+
() => (0, import_registerFlow.getFlowConfig)(verificationMethod),
|
|
48
|
+
[verificationMethod]
|
|
49
|
+
);
|
|
50
|
+
const autoTransitionTimer = (0, import_react.useRef)();
|
|
51
|
+
const [flowData, setFlowData] = (0, import_react.useState)({
|
|
52
|
+
currentStep: import_registerFlow.RegisterStep.INITIAL_FORM,
|
|
53
|
+
account: initialAccount,
|
|
54
|
+
accountType,
|
|
55
|
+
verificationMethod
|
|
56
|
+
});
|
|
57
|
+
const currentStepDef = (0, import_registerFlow.getStepDefinition)(flowData.currentStep);
|
|
58
|
+
const clearAutoTransition = (0, import_react.useCallback)(() => {
|
|
59
|
+
if (autoTransitionTimer.current) {
|
|
60
|
+
clearTimeout(autoTransitionTimer.current);
|
|
61
|
+
autoTransitionTimer.current = void 0;
|
|
62
|
+
}
|
|
63
|
+
}, []);
|
|
64
|
+
const goToStep = (0, import_react.useCallback)(
|
|
65
|
+
(step, updates) => {
|
|
66
|
+
setFlowData((prevFlowData) => {
|
|
67
|
+
var _a, _b, _c;
|
|
68
|
+
const targetVerificationMethod = (updates == null ? void 0 : updates.verificationMethod) ?? prevFlowData.verificationMethod;
|
|
69
|
+
if (!(0, import_registerFlow.isValidTransition)(targetVerificationMethod, prevFlowData.currentStep, step)) {
|
|
70
|
+
console.warn(
|
|
71
|
+
`Invalid transition from ${prevFlowData.currentStep} to ${step} for ${targetVerificationMethod}`,
|
|
72
|
+
"(current verificationMethod:",
|
|
73
|
+
prevFlowData.verificationMethod,
|
|
74
|
+
", target:",
|
|
75
|
+
targetVerificationMethod,
|
|
76
|
+
")"
|
|
77
|
+
);
|
|
78
|
+
return prevFlowData;
|
|
79
|
+
}
|
|
80
|
+
clearAutoTransition();
|
|
81
|
+
const newFlowData = {
|
|
82
|
+
...prevFlowData,
|
|
83
|
+
...updates,
|
|
84
|
+
currentStep: step
|
|
85
|
+
};
|
|
86
|
+
(_a = onStepChangeRef.current) == null ? void 0 : _a.call(onStepChangeRef, step, newFlowData);
|
|
87
|
+
if (step === import_registerFlow.RegisterStep.COMPLETE) {
|
|
88
|
+
(_b = onCompleteRef.current) == null ? void 0 : _b.call(onCompleteRef, newFlowData);
|
|
89
|
+
}
|
|
90
|
+
const autoTransition = (_c = flowConfig.autoTransition) == null ? void 0 : _c[step];
|
|
91
|
+
if (autoTransition) {
|
|
92
|
+
autoTransitionTimer.current = setTimeout(() => {
|
|
93
|
+
goToStep(autoTransition.nextStep);
|
|
94
|
+
}, autoTransition.delay);
|
|
95
|
+
}
|
|
96
|
+
return newFlowData;
|
|
97
|
+
});
|
|
98
|
+
},
|
|
99
|
+
[
|
|
100
|
+
verificationMethod,
|
|
101
|
+
flowConfig,
|
|
102
|
+
clearAutoTransition
|
|
103
|
+
]
|
|
104
|
+
);
|
|
105
|
+
const updateFlowData = (0, import_react.useCallback)((updates) => {
|
|
106
|
+
setFlowData((prev) => ({ ...prev, ...updates }));
|
|
107
|
+
}, []);
|
|
108
|
+
const resetFlow = (0, import_react.useCallback)(() => {
|
|
109
|
+
clearAutoTransition();
|
|
110
|
+
setFlowData({
|
|
111
|
+
currentStep: import_registerFlow.RegisterStep.INITIAL_FORM,
|
|
112
|
+
account: initialAccount,
|
|
113
|
+
accountType,
|
|
114
|
+
verificationMethod
|
|
115
|
+
});
|
|
116
|
+
}, [clearAutoTransition, initialAccount, accountType, verificationMethod]);
|
|
117
|
+
const handleError = (0, import_react.useCallback)(
|
|
118
|
+
(code, message, targetStep) => {
|
|
119
|
+
const errorData = {
|
|
120
|
+
...flowData,
|
|
121
|
+
error: { code, message }
|
|
122
|
+
};
|
|
123
|
+
if (targetStep) {
|
|
124
|
+
errorData.currentStep = targetStep;
|
|
125
|
+
}
|
|
126
|
+
setFlowData(errorData);
|
|
127
|
+
onStepChange == null ? void 0 : onStepChange(errorData.currentStep, errorData);
|
|
128
|
+
},
|
|
129
|
+
[flowData, onStepChange]
|
|
130
|
+
);
|
|
131
|
+
(0, import_react.useEffect)(() => {
|
|
132
|
+
return () => {
|
|
133
|
+
clearAutoTransition();
|
|
134
|
+
};
|
|
135
|
+
}, [clearAutoTransition]);
|
|
136
|
+
return {
|
|
137
|
+
flowData,
|
|
138
|
+
currentStepDef,
|
|
139
|
+
flowConfig,
|
|
140
|
+
goToStep,
|
|
141
|
+
updateFlowData,
|
|
142
|
+
resetFlow,
|
|
143
|
+
handleError
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
147
|
+
0 && (module.exports = {
|
|
148
|
+
useRegisterFlow
|
|
149
|
+
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AuthMethodType } from '../shared/types';
|
|
2
|
+
/**
|
|
3
|
+
* 注册方式相关的逻辑hook
|
|
4
|
+
*/
|
|
5
|
+
export declare function useRegistrationMethods(isRegistrationMethodEnabled: (type: AuthMethodType) => boolean): {
|
|
6
|
+
enabledMethods: AuthMethodType[];
|
|
7
|
+
shouldShowDivider: boolean;
|
|
8
|
+
hasEmailAndPhone: boolean;
|
|
9
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// src/pro/Login2.0/hooks/useRegistrationMethods.ts
|
|
20
|
+
var useRegistrationMethods_exports = {};
|
|
21
|
+
__export(useRegistrationMethods_exports, {
|
|
22
|
+
useRegistrationMethods: () => useRegistrationMethods
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(useRegistrationMethods_exports);
|
|
25
|
+
var import_react = require("react");
|
|
26
|
+
function useRegistrationMethods(isRegistrationMethodEnabled) {
|
|
27
|
+
const enabledMethods = (0, import_react.useMemo)(() => {
|
|
28
|
+
const methods = [];
|
|
29
|
+
if (isRegistrationMethodEnabled("email")) methods.push("email");
|
|
30
|
+
if (isRegistrationMethodEnabled("phone")) methods.push("phone");
|
|
31
|
+
if (isRegistrationMethodEnabled("google")) methods.push("google");
|
|
32
|
+
if (isRegistrationMethodEnabled("facebook")) methods.push("facebook");
|
|
33
|
+
if (isRegistrationMethodEnabled("apple")) methods.push("apple");
|
|
34
|
+
return methods;
|
|
35
|
+
}, [isRegistrationMethodEnabled]);
|
|
36
|
+
const shouldShowDivider = (0, import_react.useMemo)(() => {
|
|
37
|
+
return enabledMethods.length > 1;
|
|
38
|
+
}, [enabledMethods.length]);
|
|
39
|
+
const hasEmailAndPhone = (0, import_react.useMemo)(() => {
|
|
40
|
+
return isRegistrationMethodEnabled("email") && isRegistrationMethodEnabled("phone");
|
|
41
|
+
}, [isRegistrationMethodEnabled]);
|
|
42
|
+
return {
|
|
43
|
+
enabledMethods,
|
|
44
|
+
shouldShowDivider,
|
|
45
|
+
hasEmailAndPhone
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
49
|
+
0 && (module.exports = {
|
|
50
|
+
useRegistrationMethods
|
|
51
|
+
});
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
27
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
|
|
29
|
+
// src/pro/Login2.0/index.tsx
|
|
30
|
+
var Login2_exports = {};
|
|
31
|
+
__export(Login2_exports, {
|
|
32
|
+
AuthModal: () => import_AuthModal.default,
|
|
33
|
+
Login2: () => import_Login2.default,
|
|
34
|
+
Register2: () => import_Register2.default
|
|
35
|
+
});
|
|
36
|
+
module.exports = __toCommonJS(Login2_exports);
|
|
37
|
+
var import_Login2 = __toESM(require("./Login2"));
|
|
38
|
+
var import_Register2 = __toESM(require("./Register2"));
|
|
39
|
+
var import_AuthModal = __toESM(require("./AuthModal"));
|
|
40
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
41
|
+
0 && (module.exports = {
|
|
42
|
+
AuthModal,
|
|
43
|
+
Login2,
|
|
44
|
+
Register2
|
|
45
|
+
});
|