@axos-web-dev/shared-components 1.0.100-dev.43-executive.3 → 1.0.100-dev.45
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/dist/ATMLocator/ATMLocator.js +1 -2
- package/dist/Auth/ErrorAlert.js +0 -1
- package/dist/Auth/SignInPassword.js +2 -2
- package/dist/Avatar/Avatar.module.js +7 -7
- package/dist/Blockquote/Blockquote.module.js +3 -3
- package/dist/BulletItem/BulletItem.js +1 -0
- package/dist/Button/Button.js +0 -1
- package/dist/Calculators/AnnualFeeCalculator/index.js +1 -1
- package/dist/Calculators/BuyDownCalculator/index.js +1 -1
- package/dist/Calculators/Calculator.js +2 -3
- package/dist/Calculators/MarineLoanMonthlyPaymentCalculator/index.js +1 -1
- package/dist/Calculators/MaxLoanCalculator/index.js +1 -1
- package/dist/Calculators/MonthlyPaymentCalculator/index.js +1 -1
- package/dist/Carousel/index.js +0 -1
- package/dist/Chatbot/ChatWindow.css.d.ts +1 -0
- package/dist/Chatbot/ChatWindow.css.js +13 -12
- package/dist/Chatbot/ChatWindow.js +87 -66
- package/dist/Chatbot/Chatbot.css.js +1 -0
- package/dist/Chatbot/Chatbot.d.ts +1 -1
- package/dist/Chatbot/Chatbot.js +46 -10
- package/dist/Chatbot/index.js +2 -1
- package/dist/Chevron/index.js +0 -1
- package/dist/Comparison/Comparison.js +0 -1
- package/dist/ExecutiveBio/ExecutiveBio.js +351 -355
- package/dist/FaqAccordion/index.js +0 -1
- package/dist/FooterSiteMap/AxosBank/FooterSiteMap.js +0 -1
- package/dist/Forms/ApplicationStart.js +4 -2
- package/dist/Forms/ApplyNow.js +1 -2
- package/dist/Forms/ClearingForm.js +4 -2
- package/dist/Forms/CommercialDeposits.js +4 -2
- package/dist/Forms/CommercialDepositsNoLendingOption.js +4 -2
- package/dist/Forms/CommercialLending.js +4 -2
- package/dist/Forms/CommercialPremiumFinance.js +4 -2
- package/dist/Forms/ContactCompany.js +4 -2
- package/dist/Forms/ContactCompanyTitle.js +4 -2
- package/dist/Forms/ContactUs.js +4 -2
- package/dist/Forms/ContactUsAAS.js +4 -2
- package/dist/Forms/ContactUsBusiness.js +4 -3
- package/dist/Forms/ContactUsBusinessNameEmail.js +4 -3
- package/dist/Forms/ContactUsLVF.js +4 -2
- package/dist/Forms/ContactUsNMLSId.js +4 -3
- package/dist/Forms/CpraRequest.d.ts +1 -1
- package/dist/Forms/CpraRequest.js +5 -2
- package/dist/Forms/CraPublicFile.js +4 -3
- package/dist/Forms/DealerServices.js +4 -2
- package/dist/Forms/EmailOnly.js +4 -3
- package/dist/Forms/EmailUs.js +7 -5
- package/dist/Forms/HoneyPot/index.js +2 -1
- package/dist/Forms/MortgageRate/MortgageRateForm.js +4 -3
- package/dist/Forms/MortgageRate/MortgageRateWatch.js +0 -1
- package/dist/Forms/MortgageWarehouseLending.js +4 -3
- package/dist/Forms/QuickPricer/QuickPricerForm.js +16 -12
- package/dist/Forms/ScheduleCall.js +4 -2
- package/dist/Forms/ScheduleCallPremier.js +4 -2
- package/dist/Forms/SuccesForm.js +2 -3
- package/dist/Forms/VendorQuestionnaire.js +6 -2
- package/dist/Forms/index.js +1 -0
- package/dist/Hyperlink/index.js +0 -1
- package/dist/ImageLink/ImageLink.js +1 -2
- package/dist/ImageLink/ImageLinkSet.js +0 -1
- package/dist/ImageLink/index.js +0 -1
- package/dist/Insight/Featured/CategorySelector.js +0 -1
- package/dist/Insight/Featured/Featured.js +0 -1
- package/dist/Insight/Featured/Header.js +0 -1
- package/dist/LoadingIndicator/index.js +1 -0
- package/dist/Modal/Modal.js +0 -1
- package/dist/Modal/contextApi/store.js +1 -1
- package/dist/NavigationMenu/AxosALTS/NavData.js +0 -1
- package/dist/NavigationMenu/AxosALTS/index.js +0 -1
- package/dist/NavigationMenu/AxosAdvisor/NavBar.module.js +52 -52
- package/dist/NavigationMenu/AxosAdvisorServices/NavBar.module.js +53 -53
- package/dist/NavigationMenu/AxosBank/MobileMenu/MobileMenu.module.js +16 -16
- package/dist/NavigationMenu/AxosBank/MobileMenu/MobileNavData.js +0 -1
- package/dist/NavigationMenu/AxosBank/NavBar.module.js +39 -39
- package/dist/NavigationMenu/AxosBank/NavData.js +0 -1
- package/dist/NavigationMenu/AxosBank/SubNavBar.js +7 -6
- package/dist/NavigationMenu/AxosBank/index.js +0 -1
- package/dist/NavigationMenu/AxosClearing/NavBar.module.js +37 -37
- package/dist/NavigationMenu/AxosFiduciary/NavBar.module.js +41 -41
- package/dist/NavigationMenu/LaVictoire/NavData.js +0 -1
- package/dist/NavigationMenu/LaVictoire/index.js +0 -1
- package/dist/NavigationMenu/NavDataJson.js +0 -1
- package/dist/NavigationMenu/Navbar.js +0 -1
- package/dist/NavigationMenu/SignInNavButton.js +0 -1
- package/dist/SetContainer/SetContainer.js +1 -2
- package/dist/SocialMediaBar/iconsRepository.js +0 -1
- package/dist/Tab/Tab.js +1 -0
- package/dist/VideoTile/VideoTile.js +0 -1
- package/dist/VideoWrapper/index.js +0 -1
- package/dist/assets/Avatar/Avatar.css.css +59 -59
- package/dist/assets/Blockquote/Blockquote.css.css +72 -72
- package/dist/assets/Chatbot/ChatWindow.css +38 -26
- package/dist/assets/NavigationMenu/AxosAdvisor/NavBar.css.css +609 -609
- package/dist/assets/NavigationMenu/AxosAdvisorServices/NavBar.css.css +630 -630
- package/dist/assets/NavigationMenu/AxosBank/MobileMenu/MobileMenu.css.css +192 -192
- package/dist/assets/NavigationMenu/AxosBank/NavBar.css.css +445 -445
- package/dist/assets/NavigationMenu/AxosClearing/NavBar.css.css +484 -484
- package/dist/assets/NavigationMenu/AxosFiduciary/NavBar.css.css +427 -427
- package/dist/main.js +10 -2
- package/dist/utils/emailValidation.d.ts +1 -0
- package/dist/utils/emailValidation.js +31 -0
- package/dist/utils/index.d.ts +4 -1
- package/dist/utils/index.js +9 -1
- package/dist/utils/nmlsValidation.d.ts +1 -0
- package/dist/utils/nmlsValidation.js +34 -0
- package/dist/utils/useCachedValidators.d.ts +2 -0
- package/dist/utils/useCachedValidators.js +22 -0
- package/package.json +136 -136
|
@@ -79,7 +79,6 @@ import "../Chatbot/authenticate.js";
|
|
|
79
79
|
import "../Chatbot/Chatbot.css.ts.vanilla.css.js";
|
|
80
80
|
/* empty css */
|
|
81
81
|
import "../Chatbot/store/messages.js";
|
|
82
|
-
import "@ujet/websdk-headless";
|
|
83
82
|
/* empty css */
|
|
84
83
|
import "../Comparison/Comparison.css.js";
|
|
85
84
|
import "next/image.js";
|
|
@@ -74,7 +74,6 @@ import "../../Chatbot/authenticate.js";
|
|
|
74
74
|
import "../../Chatbot/Chatbot.css.ts.vanilla.css.js";
|
|
75
75
|
/* empty css */
|
|
76
76
|
import "../../Chatbot/store/messages.js";
|
|
77
|
-
import "@ujet/websdk-headless";
|
|
78
77
|
/* empty css */
|
|
79
78
|
import "../../Comparison/Comparison.css.js";
|
|
80
79
|
import "next/image.js";
|
|
@@ -26,11 +26,12 @@ import '../assets/icons/FollowIcon/FollowIcon.css';import '../assets/icons/Downl
|
|
|
26
26
|
/* empty css */
|
|
27
27
|
/* empty css */
|
|
28
28
|
import "../utils/allowedAxosDomains.js";
|
|
29
|
+
import * as z from "zod";
|
|
29
30
|
import { associatedEmail } from "../utils/EverestValidity.js";
|
|
30
31
|
import { getVariant } from "../utils/getVariant.js";
|
|
32
|
+
import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
|
|
31
33
|
import clsx from "clsx";
|
|
32
34
|
import { useForm, FormProvider } from "react-hook-form";
|
|
33
|
-
import * as z from "zod";
|
|
34
35
|
import { iconForm, headerContainer, headerForm, form, descriptionField, fullRowForm, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
|
|
35
36
|
import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
|
|
36
37
|
import { SalesforceSchema } from "./SalesforceFieldsForm.js";
|
|
@@ -49,10 +50,11 @@ const ApplicationStart = ({
|
|
|
49
50
|
onValidate,
|
|
50
51
|
id
|
|
51
52
|
}) => {
|
|
53
|
+
const cachedEmailValidator = useCachedEmailValidator(validateEmail);
|
|
52
54
|
const schema = z.object({
|
|
53
55
|
first_name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "First Name is required." }),
|
|
54
56
|
last_name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "Last Name is required." }),
|
|
55
|
-
email: z.string().email({ message: "Email is required." }).refine(
|
|
57
|
+
email: z.string().email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
|
|
56
58
|
phone: z.string({ message: "Phone is required." }).regex(/[\d-]{10}/, "Invalid phone number.").min(10, { message: "Phone is required." }).max(12, { message: "Phone is required." }).transform((val, ctx) => {
|
|
57
59
|
const removeDashes = val.replace(/-/gi, "");
|
|
58
60
|
if (removeDashes.length !== 10) {
|
package/dist/Forms/ApplyNow.js
CHANGED
|
@@ -13,6 +13,7 @@ import '../assets/Modal/Modal.css';import '../assets/VideoWrapper/VideoWrapper.c
|
|
|
13
13
|
/* empty css */
|
|
14
14
|
import "../utils/allowedAxosDomains.js";
|
|
15
15
|
import { getVariant } from "../utils/getVariant.js";
|
|
16
|
+
import { useReducer } from "react";
|
|
16
17
|
import clsx from "clsx";
|
|
17
18
|
/* empty css */
|
|
18
19
|
/* empty css */
|
|
@@ -22,7 +23,6 @@ import "../Chevron/Chevron.css.js";
|
|
|
22
23
|
import "../Accordion/Accordion.js";
|
|
23
24
|
import "../Accordion/Accordion.css.js";
|
|
24
25
|
import "../AlertBanner/AlertBanner.css.js";
|
|
25
|
-
import { useReducer } from "react";
|
|
26
26
|
import "../Article/Article.css.js";
|
|
27
27
|
import "../ArticlesSet/ArticlesSet.css.js";
|
|
28
28
|
import "../Calculators/calculator.css.js";
|
|
@@ -79,7 +79,6 @@ import "../Chatbot/authenticate.js";
|
|
|
79
79
|
import "../Chatbot/Chatbot.css.ts.vanilla.css.js";
|
|
80
80
|
/* empty css */
|
|
81
81
|
import "../Chatbot/store/messages.js";
|
|
82
|
-
import "@ujet/websdk-headless";
|
|
83
82
|
/* empty css */
|
|
84
83
|
import "../Comparison/Comparison.css.js";
|
|
85
84
|
import "next/image.js";
|
|
@@ -27,11 +27,12 @@ import '../assets/icons/FollowIcon/FollowIcon.css';import '../assets/icons/Downl
|
|
|
27
27
|
/* empty css */
|
|
28
28
|
/* empty css */
|
|
29
29
|
import "../utils/allowedAxosDomains.js";
|
|
30
|
+
import * as z from "zod";
|
|
30
31
|
import { associatedEmail } from "../utils/EverestValidity.js";
|
|
31
32
|
import { getVariant } from "../utils/getVariant.js";
|
|
33
|
+
import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
|
|
32
34
|
import clsx from "clsx";
|
|
33
35
|
import { useForm, FormProvider } from "react-hook-form";
|
|
34
|
-
import * as z from "zod";
|
|
35
36
|
import { iconForm, headerForm, form, descriptionField, headerContainer, xc_input, fullRowForm, ro_input, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
|
|
36
37
|
import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
|
|
37
38
|
import { SalesforceSchema } from "./SalesforceFieldsForm.js";
|
|
@@ -65,6 +66,7 @@ const ClearingForm = ({
|
|
|
65
66
|
onValidate,
|
|
66
67
|
id
|
|
67
68
|
}) => {
|
|
69
|
+
const cachedEmailValidator = useCachedEmailValidator(validateEmail);
|
|
68
70
|
const schema = z.object({
|
|
69
71
|
first_name: z.string({ message: "First name is required." }).regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g, {
|
|
70
72
|
message: "First name is required."
|
|
@@ -72,7 +74,7 @@ const ClearingForm = ({
|
|
|
72
74
|
last_name: z.string({ message: "Last Name is required." }).regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g, {
|
|
73
75
|
message: "Last Name is required."
|
|
74
76
|
}).trim().min(1, { message: "Last Name is required." }),
|
|
75
|
-
email: z.string().email({ message: "Email is required." }).refine(
|
|
77
|
+
email: z.string().email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
|
|
76
78
|
phone: z.string({ message: "Phone is required." }).regex(/[\d-]{10}/, "Invalid phone number.").min(10, { message: "Phone is required." }).max(12, { message: "Phone is required." }).transform((val, ctx) => {
|
|
77
79
|
const removeDashes = val.replace(/-/gi, "");
|
|
78
80
|
if (removeDashes.length !== 10) {
|
|
@@ -26,11 +26,12 @@ import '../assets/icons/FollowIcon/FollowIcon.css';import '../assets/icons/Downl
|
|
|
26
26
|
/* empty css */
|
|
27
27
|
/* empty css */
|
|
28
28
|
import "../utils/allowedAxosDomains.js";
|
|
29
|
+
import * as z from "zod";
|
|
29
30
|
import { associatedEmail } from "../utils/EverestValidity.js";
|
|
30
31
|
import { getVariant } from "../utils/getVariant.js";
|
|
32
|
+
import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
|
|
31
33
|
import clsx from "clsx";
|
|
32
34
|
import { useForm, FormProvider } from "react-hook-form";
|
|
33
|
-
import * as z from "zod";
|
|
34
35
|
import { iconForm, headerForm, form, descriptionField, headerContainer, x_input, fullRowForm, pl_label, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
|
|
35
36
|
import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
|
|
36
37
|
import { SalesforceSchema } from "./SalesforceFieldsForm.js";
|
|
@@ -49,6 +50,7 @@ const CommercialDeposits = ({
|
|
|
49
50
|
onValidate,
|
|
50
51
|
id
|
|
51
52
|
}) => {
|
|
53
|
+
const cachedEmailValidator = useCachedEmailValidator(validateEmail);
|
|
52
54
|
const schema = z.object({
|
|
53
55
|
first_name: z.string({ message: "First Name is required." }).regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g, {
|
|
54
56
|
message: "First Name is required."
|
|
@@ -56,7 +58,7 @@ const CommercialDeposits = ({
|
|
|
56
58
|
last_name: z.string({ message: "Last Name is required." }).regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g, {
|
|
57
59
|
message: "Last Name is required."
|
|
58
60
|
}).trim().min(1, { message: "Last Name is required." }),
|
|
59
|
-
email: z.string().email({ message: "Email is required." }).refine(
|
|
61
|
+
email: z.string().email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
|
|
60
62
|
phone: z.string({ message: "Business Phone is required." }).regex(/[\d-]{10}/, { message: "Business Phone is required." }).min(10, { message: "Business Phone is required." }).max(12, { message: "Business Phone is required." }).transform((val, ctx) => {
|
|
61
63
|
const removeDashes = val.replace(/-/gi, "");
|
|
62
64
|
if (removeDashes.length !== 10) {
|
|
@@ -26,11 +26,12 @@ import '../assets/icons/FollowIcon/FollowIcon.css';import '../assets/icons/Downl
|
|
|
26
26
|
/* empty css */
|
|
27
27
|
/* empty css */
|
|
28
28
|
import "../utils/allowedAxosDomains.js";
|
|
29
|
+
import * as z from "zod";
|
|
29
30
|
import { associatedEmail } from "../utils/EverestValidity.js";
|
|
30
31
|
import { getVariant } from "../utils/getVariant.js";
|
|
32
|
+
import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
|
|
31
33
|
import clsx from "clsx";
|
|
32
34
|
import { useForm, FormProvider } from "react-hook-form";
|
|
33
|
-
import * as z from "zod";
|
|
34
35
|
import { iconForm, headerForm, form, descriptionField, headerContainer, x_input, fullRowForm, pl_label, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
|
|
35
36
|
import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
|
|
36
37
|
import { SalesforceSchema } from "./SalesforceFieldsForm.js";
|
|
@@ -49,6 +50,7 @@ const CommercialDepositsNoLendingOption = ({
|
|
|
49
50
|
onValidate,
|
|
50
51
|
id
|
|
51
52
|
}) => {
|
|
53
|
+
const cachedEmailValidator = useCachedEmailValidator(validateEmail);
|
|
52
54
|
const schema = z.object({
|
|
53
55
|
first_name: z.string({ message: "First Name is required." }).regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g, {
|
|
54
56
|
message: "First Name is required."
|
|
@@ -56,7 +58,7 @@ const CommercialDepositsNoLendingOption = ({
|
|
|
56
58
|
last_name: z.string({ message: "Last Name is required." }).regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g, {
|
|
57
59
|
message: "Last Name is required."
|
|
58
60
|
}).trim().min(1, { message: "Last Name is required." }),
|
|
59
|
-
email: z.string().email({ message: "Email is required." }).refine(
|
|
61
|
+
email: z.string().email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
|
|
60
62
|
phone: z.string({ message: "Business Phone is required." }).regex(/[\d-]{10}/, { message: "Business Phone is required." }).min(10, { message: "Business Phone is required." }).max(12, { message: "Business Phone is required." }).transform((val, ctx) => {
|
|
61
63
|
const removeDashes = val.replace(/-/gi, "");
|
|
62
64
|
if (removeDashes.length !== 10) {
|
|
@@ -27,11 +27,12 @@ import '../assets/icons/FollowIcon/FollowIcon.css';import '../assets/icons/Downl
|
|
|
27
27
|
/* empty css */
|
|
28
28
|
/* empty css */
|
|
29
29
|
import "../utils/allowedAxosDomains.js";
|
|
30
|
+
import * as z from "zod";
|
|
30
31
|
import { associatedEmail } from "../utils/EverestValidity.js";
|
|
31
32
|
import { getVariant } from "../utils/getVariant.js";
|
|
33
|
+
import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
|
|
32
34
|
import clsx from "clsx";
|
|
33
35
|
import { useForm, FormProvider } from "react-hook-form";
|
|
34
|
-
import * as z from "zod";
|
|
35
36
|
import { iconForm, headerContainer, headerForm, form, descriptionField, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
|
|
36
37
|
import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
|
|
37
38
|
import { SalesforceSchema } from "./SalesforceFieldsForm.js";
|
|
@@ -65,6 +66,7 @@ const CommercialLending = ({
|
|
|
65
66
|
setCRESLPage(true);
|
|
66
67
|
}
|
|
67
68
|
}, [pathname]);
|
|
69
|
+
const cachedEmailValidator = useCachedEmailValidator(validateEmail);
|
|
68
70
|
const schema = z.object({
|
|
69
71
|
first_name: z.string({
|
|
70
72
|
required_error: "First name is required",
|
|
@@ -78,7 +80,7 @@ const CommercialLending = ({
|
|
|
78
80
|
}).regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g, {
|
|
79
81
|
message: "Invalid last name"
|
|
80
82
|
}).trim().min(1, { message: "Last Name is required." }),
|
|
81
|
-
email: z.string().email({ message: "Business Email is required." }).refine(
|
|
83
|
+
email: z.string().email({ message: "Business Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
|
|
82
84
|
General_Business_Phone_SFDC2__c: z.string({ message: "Phone is required." }).regex(/[\d-]{10}/, "Invalid phone number.").min(10, { message: "Business Phone is required." }).max(12, { message: "Business Phone is required." }).transform((val, ctx) => {
|
|
83
85
|
const removeDashes = val.replace(/-/gi, "");
|
|
84
86
|
if (removeDashes.length !== 10) {
|
|
@@ -27,11 +27,12 @@ import "../Input/DownPaymentInput.js";
|
|
|
27
27
|
import "../Input/RadioButton.js";
|
|
28
28
|
import { LoadingIndicator } from "../LoadingIndicator/index.js";
|
|
29
29
|
import "../utils/allowedAxosDomains.js";
|
|
30
|
+
import { z } from "zod";
|
|
30
31
|
import { associatedEmail } from "../utils/EverestValidity.js";
|
|
31
32
|
import { getVariant } from "../utils/getVariant.js";
|
|
33
|
+
import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
|
|
32
34
|
import clsx from "clsx";
|
|
33
35
|
import { useForm, FormProvider } from "react-hook-form";
|
|
34
|
-
import { z } from "zod";
|
|
35
36
|
import { iconForm, headerContainer, headerForm, form, descriptionField, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
|
|
36
37
|
import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
|
|
37
38
|
import { SalesforceSchema } from "./SalesforceFieldsForm.js";
|
|
@@ -50,6 +51,7 @@ const CommercialPremiumFinance = ({
|
|
|
50
51
|
description,
|
|
51
52
|
id
|
|
52
53
|
}) => {
|
|
54
|
+
const cachedEmailValidator = useCachedEmailValidator(validateEmail);
|
|
53
55
|
const schema = z.object({
|
|
54
56
|
first_name: z.string({
|
|
55
57
|
required_error: "First name is required",
|
|
@@ -63,7 +65,7 @@ const CommercialPremiumFinance = ({
|
|
|
63
65
|
}).regex(/^[a-zA-Z]*(?:[a-zA-Z][a-zA-Z'-]*\s{0,1}){2,}$/g, {
|
|
64
66
|
message: "Invalid last name"
|
|
65
67
|
}).trim().min(1, { message: "Last Name is required." }),
|
|
66
|
-
email: z.string().email({ message: "Invalid email address" }).refine(
|
|
68
|
+
email: z.string().email({ message: "Invalid email address" }).refine(cachedEmailValidator, {
|
|
67
69
|
message: "Invalid email address"
|
|
68
70
|
}),
|
|
69
71
|
Insurance_Company__c: z.string(),
|
|
@@ -26,11 +26,12 @@ import '../assets/icons/FollowIcon/FollowIcon.css';import '../assets/icons/Downl
|
|
|
26
26
|
/* empty css */
|
|
27
27
|
/* empty css */
|
|
28
28
|
import "../utils/allowedAxosDomains.js";
|
|
29
|
+
import * as z from "zod";
|
|
29
30
|
import { associatedEmail } from "../utils/EverestValidity.js";
|
|
30
31
|
import { getVariant } from "../utils/getVariant.js";
|
|
32
|
+
import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
|
|
31
33
|
import clsx from "clsx";
|
|
32
34
|
import { useForm, FormProvider } from "react-hook-form";
|
|
33
|
-
import * as z from "zod";
|
|
34
35
|
import { iconForm, headerContainer, headerForm, form, descriptionField, fullRowForm, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
|
|
35
36
|
import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
|
|
36
37
|
import { SalesforceSchema } from "./SalesforceFieldsForm.js";
|
|
@@ -49,10 +50,11 @@ const ContactCompany = ({
|
|
|
49
50
|
onValidate,
|
|
50
51
|
id
|
|
51
52
|
}) => {
|
|
53
|
+
const cachedEmailValidator = useCachedEmailValidator(validateEmail);
|
|
52
54
|
const schema = z.object({
|
|
53
55
|
first_name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "First Name is required." }),
|
|
54
56
|
last_name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "Last Name is required." }),
|
|
55
|
-
email: z.string().email({ message: "Email is required." }).refine(
|
|
57
|
+
email: z.string().email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
|
|
56
58
|
phone: z.string({ message: "Phone is required." }).regex(/[\d-]{10}/, "Invalid phone number.").min(10, { message: "Phone is required." }).max(12, { message: "Phone is required." }).transform((val, ctx) => {
|
|
57
59
|
const removeDashes = val.replace(/-/gi, "");
|
|
58
60
|
if (removeDashes.length !== 10) {
|
|
@@ -26,11 +26,12 @@ import '../assets/icons/FollowIcon/FollowIcon.css';import '../assets/icons/Downl
|
|
|
26
26
|
/* empty css */
|
|
27
27
|
/* empty css */
|
|
28
28
|
import "../utils/allowedAxosDomains.js";
|
|
29
|
+
import * as z from "zod";
|
|
29
30
|
import { associatedEmail } from "../utils/EverestValidity.js";
|
|
30
31
|
import { getVariant } from "../utils/getVariant.js";
|
|
32
|
+
import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
|
|
31
33
|
import clsx from "clsx";
|
|
32
34
|
import { useForm, FormProvider } from "react-hook-form";
|
|
33
|
-
import * as z from "zod";
|
|
34
35
|
import { iconForm, headerContainer, headerForm, form, descriptionField, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
|
|
35
36
|
import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
|
|
36
37
|
import { SalesforceSchema } from "./SalesforceFieldsForm.js";
|
|
@@ -49,10 +50,11 @@ const ContactCompanyTitle = ({
|
|
|
49
50
|
onValidate,
|
|
50
51
|
id
|
|
51
52
|
}) => {
|
|
53
|
+
const cachedEmailValidator = useCachedEmailValidator(validateEmail);
|
|
52
54
|
const schema = z.object({
|
|
53
55
|
first_name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "First Name is required." }),
|
|
54
56
|
last_name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "Last Name is required." }),
|
|
55
|
-
email: z.string().email({ message: "Email is required." }).refine(
|
|
57
|
+
email: z.string().email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
|
|
56
58
|
phone: z.string({ message: "Phone is required." }).regex(/[\d-]{10}/, "Invalid phone number.").min(10, { message: "Phone is required." }).max(12, { message: "Phone is required." }).transform((val, ctx) => {
|
|
57
59
|
const removeDashes = val.replace(/-/gi, "");
|
|
58
60
|
if (removeDashes.length !== 10) {
|
package/dist/Forms/ContactUs.js
CHANGED
|
@@ -26,11 +26,12 @@ import '../assets/icons/FollowIcon/FollowIcon.css';import '../assets/icons/Downl
|
|
|
26
26
|
/* empty css */
|
|
27
27
|
/* empty css */
|
|
28
28
|
import "../utils/allowedAxosDomains.js";
|
|
29
|
+
import * as z from "zod";
|
|
29
30
|
import { associatedEmail } from "../utils/EverestValidity.js";
|
|
30
31
|
import { getVariant } from "../utils/getVariant.js";
|
|
32
|
+
import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
|
|
31
33
|
import clsx from "clsx";
|
|
32
34
|
import { useForm, FormProvider } from "react-hook-form";
|
|
33
|
-
import * as z from "zod";
|
|
34
35
|
import { iconForm, headerContainer, headerForm, form, descriptionField, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
|
|
35
36
|
import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
|
|
36
37
|
import { SalesforceSchema } from "./SalesforceFieldsForm.js";
|
|
@@ -49,10 +50,11 @@ const ContactUs = ({
|
|
|
49
50
|
onValidate,
|
|
50
51
|
id
|
|
51
52
|
}) => {
|
|
53
|
+
const cachedEmailValidator = useCachedEmailValidator(validateEmail);
|
|
52
54
|
const schema = z.object({
|
|
53
55
|
first_name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "First Name is required." }),
|
|
54
56
|
last_name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "Last Name is required." }),
|
|
55
|
-
email: z.string().email({ message: "Email is required." }).refine(
|
|
57
|
+
email: z.string().email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
|
|
56
58
|
phone: z.string({ message: "Phone is required." }).regex(/[\d-]{10}/, "Invalid phone number.").min(10, { message: "Phone is required." }).max(12, { message: "Phone is required." }).transform((val, ctx) => {
|
|
57
59
|
const removeDashes = val.replace(/-/gi, "");
|
|
58
60
|
if (removeDashes.length !== 10) {
|
|
@@ -27,10 +27,11 @@ import '../assets/icons/FollowIcon/FollowIcon.css';import '../assets/icons/Downl
|
|
|
27
27
|
/* empty css */
|
|
28
28
|
/* empty css */
|
|
29
29
|
import "../utils/allowedAxosDomains.js";
|
|
30
|
+
import { z } from "zod";
|
|
30
31
|
import { getVariant } from "../utils/getVariant.js";
|
|
32
|
+
import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
|
|
31
33
|
import clsx from "clsx";
|
|
32
34
|
import { useForm, FormProvider } from "react-hook-form";
|
|
33
|
-
import { z } from "zod";
|
|
34
35
|
import { Roles } from "./FormEnums.js";
|
|
35
36
|
import { iconForm, headerContainer, headerForm, form, descriptionField, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
|
|
36
37
|
import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
|
|
@@ -50,6 +51,7 @@ const ContactUsAAS = ({
|
|
|
50
51
|
onValidate,
|
|
51
52
|
id
|
|
52
53
|
}) => {
|
|
54
|
+
const cachedEmailValidator = useCachedEmailValidator(validateEmail);
|
|
53
55
|
const schema = z.object({
|
|
54
56
|
first_name: z.string({ message: "First name is required." }).regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g, {
|
|
55
57
|
message: "Invalid first name"
|
|
@@ -57,7 +59,7 @@ const ContactUsAAS = ({
|
|
|
57
59
|
last_name: z.string({ message: "Last name is required." }).regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g, {
|
|
58
60
|
message: "Invalid last name"
|
|
59
61
|
}).trim().min(1, { message: "Last Name is required." }),
|
|
60
|
-
email: z.string({ message: "Email is required." }).email({ message: "Email is required." }).refine(
|
|
62
|
+
email: z.string({ message: "Email is required." }).email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
|
|
61
63
|
phone: z.string({ message: "Phone is required." }).regex(/[\d-]{10}/, "Invalid phone number.").min(10, { message: "Phone is required." }).max(12, { message: "Phone is required." }).transform((val, ctx) => {
|
|
62
64
|
const removeDashes = val.replace(/-/gi, "");
|
|
63
65
|
if (removeDashes.length !== 10) {
|
|
@@ -35,6 +35,8 @@ import "react-use";
|
|
|
35
35
|
import "../ArticlesSet/ArticlesSet.css.js";
|
|
36
36
|
import "../IconBillboard/IconBillboard.css.js";
|
|
37
37
|
import "../utils/allowedAxosDomains.js";
|
|
38
|
+
import { z } from "zod";
|
|
39
|
+
import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
|
|
38
40
|
import "../Calculators/calculator.css.js";
|
|
39
41
|
import "../Calculators/AnnualFeeCalculator/AnnualFeeCalculator.css.js";
|
|
40
42
|
import "../Calculators/ApyCalculator/ApyCalculator.css.js";
|
|
@@ -43,7 +45,6 @@ import "../Calculators/AxosOneCalculator/BalanceAPYCalculator.css.js";
|
|
|
43
45
|
import "../Calculators/BalanceAPYCalculator/BalanceAPYCalculator.css.js";
|
|
44
46
|
import "../Input/PercentageInput.js";
|
|
45
47
|
import { useForm, FormProvider } from "react-hook-form";
|
|
46
|
-
import { z } from "zod";
|
|
47
48
|
import "../Calculators/BuyDownCalculator/BuyDownCalculator.css.js";
|
|
48
49
|
import { iconForm, headerContainer, headerForm, form, descriptionField, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
|
|
49
50
|
import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
|
|
@@ -80,7 +81,6 @@ import "../Chatbot/authenticate.js";
|
|
|
80
81
|
import "../Chatbot/Chatbot.css.ts.vanilla.css.js";
|
|
81
82
|
/* empty css */
|
|
82
83
|
import "../Chatbot/store/messages.js";
|
|
83
|
-
import "@ujet/websdk-headless";
|
|
84
84
|
/* empty css */
|
|
85
85
|
import "../Comparison/Comparison.css.js";
|
|
86
86
|
import "next/image.js";
|
|
@@ -149,10 +149,11 @@ const ContactUsBusiness = ({
|
|
|
149
149
|
onValidate,
|
|
150
150
|
id
|
|
151
151
|
}) => {
|
|
152
|
+
const cachedEmailValidator = useCachedEmailValidator(validateEmail);
|
|
152
153
|
const schema = z.object({
|
|
153
154
|
first_name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "First Name is required." }),
|
|
154
155
|
last_name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "Last Name is required." }),
|
|
155
|
-
email: z.string().email({ message: "Email is required." }).refine(
|
|
156
|
+
email: z.string().email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
|
|
156
157
|
phone: z.string({ message: "Phone is required." }).regex(/[\d-]{10}/, "Invalid phone number.").min(10, { message: "Phone is required." }).max(12, { message: "Phone is required." }).transform((val, ctx) => {
|
|
157
158
|
const removeDashes = val.replace(/-/gi, "");
|
|
158
159
|
if (removeDashes.length !== 10) {
|
|
@@ -35,6 +35,8 @@ import "react-use";
|
|
|
35
35
|
import "../ArticlesSet/ArticlesSet.css.js";
|
|
36
36
|
import "../IconBillboard/IconBillboard.css.js";
|
|
37
37
|
import "../utils/allowedAxosDomains.js";
|
|
38
|
+
import { z } from "zod";
|
|
39
|
+
import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
|
|
38
40
|
import "../Calculators/calculator.css.js";
|
|
39
41
|
import "../Calculators/AnnualFeeCalculator/AnnualFeeCalculator.css.js";
|
|
40
42
|
import "../Calculators/ApyCalculator/ApyCalculator.css.js";
|
|
@@ -43,7 +45,6 @@ import "../Calculators/AxosOneCalculator/BalanceAPYCalculator.css.js";
|
|
|
43
45
|
import "../Calculators/BalanceAPYCalculator/BalanceAPYCalculator.css.js";
|
|
44
46
|
import "../Input/PercentageInput.js";
|
|
45
47
|
import { useForm, FormProvider } from "react-hook-form";
|
|
46
|
-
import { z } from "zod";
|
|
47
48
|
import "../Calculators/BuyDownCalculator/BuyDownCalculator.css.js";
|
|
48
49
|
import { iconForm, headerContainer, headerForm, form, descriptionField, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
|
|
49
50
|
import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
|
|
@@ -80,7 +81,6 @@ import "../Chatbot/authenticate.js";
|
|
|
80
81
|
import "../Chatbot/Chatbot.css.ts.vanilla.css.js";
|
|
81
82
|
/* empty css */
|
|
82
83
|
import "../Chatbot/store/messages.js";
|
|
83
|
-
import "@ujet/websdk-headless";
|
|
84
84
|
/* empty css */
|
|
85
85
|
import "../Comparison/Comparison.css.js";
|
|
86
86
|
import "next/image.js";
|
|
@@ -149,10 +149,11 @@ const ContactUsBusinessNameAndEmail = ({
|
|
|
149
149
|
onValidate,
|
|
150
150
|
id
|
|
151
151
|
}) => {
|
|
152
|
+
const cachedEmailValidator = useCachedEmailValidator(validateEmail);
|
|
152
153
|
const schema = z.object({
|
|
153
154
|
first_name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "First Name is required." }),
|
|
154
155
|
last_name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "Last Name is required." }),
|
|
155
|
-
email: z.string().email({ message: "Email is required." }).refine(
|
|
156
|
+
email: z.string().email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
|
|
156
157
|
Business_Name__c: z.string().min(1)
|
|
157
158
|
});
|
|
158
159
|
const gen_schema = schema.merge(SalesforceSchema).merge(honeyPotSchema).superRefine((data, ctx) => {
|
|
@@ -26,11 +26,12 @@ import '../assets/icons/FollowIcon/FollowIcon.css';import '../assets/icons/Downl
|
|
|
26
26
|
/* empty css */
|
|
27
27
|
/* empty css */
|
|
28
28
|
import "../utils/allowedAxosDomains.js";
|
|
29
|
+
import * as z from "zod";
|
|
29
30
|
import { associatedEmail } from "../utils/EverestValidity.js";
|
|
30
31
|
import { getVariant } from "../utils/getVariant.js";
|
|
32
|
+
import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
|
|
31
33
|
import clsx from "clsx";
|
|
32
34
|
import { useForm, FormProvider } from "react-hook-form";
|
|
33
|
-
import * as z from "zod";
|
|
34
35
|
import { iconForm, headerContainer, headerForm, form, descriptionField, fullRowForm, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
|
|
35
36
|
import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
|
|
36
37
|
import { SalesforceSchema } from "./SalesforceFieldsForm.js";
|
|
@@ -51,6 +52,7 @@ const ContactUsLVF = ({
|
|
|
51
52
|
dealerCheckbox = true,
|
|
52
53
|
contextData
|
|
53
54
|
}) => {
|
|
55
|
+
const cachedEmailValidator = useCachedEmailValidator(validateEmail);
|
|
54
56
|
const schema = z.object({
|
|
55
57
|
firstname: z.string().regex(/^[a-zA-Z]*(?:[a-zA-Z][a-zA-Z'-]*\s{0,1}){2,}$/g, {
|
|
56
58
|
message: "Invalid first name"
|
|
@@ -58,7 +60,7 @@ const ContactUsLVF = ({
|
|
|
58
60
|
lastname: z.string().regex(/^[a-zA-Z]*(?:[a-zA-Z][a-zA-Z'-]*\s{0,1}){2,}$/g, {
|
|
59
61
|
message: "Invalid last name"
|
|
60
62
|
}).trim().min(1, { message: "Please complete this required field." }),
|
|
61
|
-
email: z.string().email({ message: "Please complete this required field." }).refine(
|
|
63
|
+
email: z.string().email({ message: "Please complete this required field." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
|
|
62
64
|
phone: z.string({ message: "Phone is required." }).regex(/[\d-]{10}/, "Invalid phone number.").min(10, { message: "Phone is required." }).max(12, { message: "Phone is required." }).transform((val, ctx) => {
|
|
63
65
|
const removeDashes = val.replace(/-/gi, "");
|
|
64
66
|
if (removeDashes.length !== 10) {
|
|
@@ -35,6 +35,8 @@ import "react-use";
|
|
|
35
35
|
import "../ArticlesSet/ArticlesSet.css.js";
|
|
36
36
|
import "../IconBillboard/IconBillboard.css.js";
|
|
37
37
|
import "../utils/allowedAxosDomains.js";
|
|
38
|
+
import { z } from "zod";
|
|
39
|
+
import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
|
|
38
40
|
import "../Calculators/calculator.css.js";
|
|
39
41
|
import "../Calculators/AnnualFeeCalculator/AnnualFeeCalculator.css.js";
|
|
40
42
|
import "../Calculators/ApyCalculator/ApyCalculator.css.js";
|
|
@@ -43,7 +45,6 @@ import "../Calculators/AxosOneCalculator/BalanceAPYCalculator.css.js";
|
|
|
43
45
|
import "../Calculators/BalanceAPYCalculator/BalanceAPYCalculator.css.js";
|
|
44
46
|
import "../Input/PercentageInput.js";
|
|
45
47
|
import { useForm, FormProvider } from "react-hook-form";
|
|
46
|
-
import { z } from "zod";
|
|
47
48
|
import "../Calculators/BuyDownCalculator/BuyDownCalculator.css.js";
|
|
48
49
|
import { iconForm, headerContainer, headerForm, form, descriptionField, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
|
|
49
50
|
import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
|
|
@@ -80,7 +81,6 @@ import "../Chatbot/authenticate.js";
|
|
|
80
81
|
import "../Chatbot/Chatbot.css.ts.vanilla.css.js";
|
|
81
82
|
/* empty css */
|
|
82
83
|
import "../Chatbot/store/messages.js";
|
|
83
|
-
import "@ujet/websdk-headless";
|
|
84
84
|
/* empty css */
|
|
85
85
|
import "../Comparison/Comparison.css.js";
|
|
86
86
|
import "next/image.js";
|
|
@@ -149,10 +149,11 @@ const ContactUsNMLSId = ({
|
|
|
149
149
|
onValidate,
|
|
150
150
|
id
|
|
151
151
|
}) => {
|
|
152
|
+
const cachedEmailValidator = useCachedEmailValidator(validateEmail);
|
|
152
153
|
const schema = z.object({
|
|
153
154
|
first_name: z.string().regex(/^[a-zA-Z]*(?:[a-zA-Z][a-zA-Z'-]*\s{0,1}){2,}$/g).trim().min(1, { message: "First Name is required." }),
|
|
154
155
|
last_name: z.string().regex(/^[a-zA-Z]*(?:[a-zA-Z][a-zA-Z'-]*\s{0,1}){2,}$/g).trim().min(1, { message: "Last Name is required." }),
|
|
155
|
-
email: z.string().email({ message: "Email is required." }).refine(
|
|
156
|
+
email: z.string().email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
|
|
156
157
|
phone: z.string({ message: "Phone is required." }).regex(/[\d-]{10}/, "Invalid phone number.").min(10, { message: "Phone is required." }).max(12, { message: "Phone is required." }).transform((val, ctx) => {
|
|
157
158
|
const removeDashes = val.replace(/-/gi, "");
|
|
158
159
|
if (removeDashes.length !== 10) {
|
|
@@ -24,4 +24,4 @@ export type CpraInputs = {
|
|
|
24
24
|
Zip_Code: string;
|
|
25
25
|
Contact_Method: "Email" | "Postal Mail";
|
|
26
26
|
};
|
|
27
|
-
export declare const CpraRequest: ({ icon, children, onSubmit, disclosure, variant: fullVariant, headline, description, callToAction, onValidate, id, }: FormProps) => import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
export declare const CpraRequest: ({ icon, children, onSubmit, disclosure, variant: fullVariant, headline, description, callToAction, validateEmail, onValidate, id, }: FormProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -27,11 +27,12 @@ import '../assets/icons/FollowIcon/FollowIcon.css';import '../assets/icons/Downl
|
|
|
27
27
|
/* empty css */
|
|
28
28
|
/* empty css */
|
|
29
29
|
import { findMoreAxosDomains } from "../utils/allowedAxosDomains.js";
|
|
30
|
+
import * as z from "zod";
|
|
30
31
|
import { associatedEmail } from "../utils/EverestValidity.js";
|
|
31
32
|
import { getVariant } from "../utils/getVariant.js";
|
|
33
|
+
import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
|
|
32
34
|
import clsx from "clsx";
|
|
33
35
|
import { useForm, FormProvider } from "react-hook-form";
|
|
34
|
-
import * as z from "zod";
|
|
35
36
|
import { iconForm, headerContainer, form, descriptionField, fullRowForm, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
|
|
36
37
|
import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
|
|
37
38
|
const CpraRequest = ({
|
|
@@ -45,9 +46,11 @@ const CpraRequest = ({
|
|
|
45
46
|
headline,
|
|
46
47
|
description,
|
|
47
48
|
callToAction,
|
|
49
|
+
validateEmail,
|
|
48
50
|
onValidate,
|
|
49
51
|
id
|
|
50
52
|
}) => {
|
|
53
|
+
const cachedEmailValidator = useCachedEmailValidator(validateEmail);
|
|
51
54
|
const schema = z.object({
|
|
52
55
|
California_Resident: z.string(),
|
|
53
56
|
Categories_of_personal_info: z.string(),
|
|
@@ -73,7 +76,7 @@ const CpraRequest = ({
|
|
|
73
76
|
Last_Name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g, {
|
|
74
77
|
message: "Last Name is required."
|
|
75
78
|
}).trim().min(1, { message: "Last Name is required." }),
|
|
76
|
-
email: z.string().email({ message: "Email is required." }),
|
|
79
|
+
email: z.string().email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
|
|
77
80
|
Telephone: z.string({ message: "Phone is required." }).regex(/[\d-]{10}/, "Invalid phone number.").min(10, { message: "Phone is required." }).max(12, { message: "Phone is required." }).transform((val, ctx) => {
|
|
78
81
|
const removeDashes = val.replace(/-/gi, "");
|
|
79
82
|
if (removeDashes.length !== 10) {
|
|
@@ -35,6 +35,8 @@ import "react-use";
|
|
|
35
35
|
import "../ArticlesSet/ArticlesSet.css.js";
|
|
36
36
|
import "../IconBillboard/IconBillboard.css.js";
|
|
37
37
|
import "../utils/allowedAxosDomains.js";
|
|
38
|
+
import { z } from "zod";
|
|
39
|
+
import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
|
|
38
40
|
import "../Calculators/calculator.css.js";
|
|
39
41
|
import "../Calculators/AnnualFeeCalculator/AnnualFeeCalculator.css.js";
|
|
40
42
|
import "../Calculators/ApyCalculator/ApyCalculator.css.js";
|
|
@@ -43,7 +45,6 @@ import "../Calculators/AxosOneCalculator/BalanceAPYCalculator.css.js";
|
|
|
43
45
|
import "../Calculators/BalanceAPYCalculator/BalanceAPYCalculator.css.js";
|
|
44
46
|
import "../Input/PercentageInput.js";
|
|
45
47
|
import { useForm, FormProvider } from "react-hook-form";
|
|
46
|
-
import { z } from "zod";
|
|
47
48
|
import "../Calculators/BuyDownCalculator/BuyDownCalculator.css.js";
|
|
48
49
|
import { iconForm, headerContainer, headerForm, form, descriptionField, fullRowForm, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
|
|
49
50
|
import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
|
|
@@ -80,7 +81,6 @@ import "../Chatbot/authenticate.js";
|
|
|
80
81
|
import "../Chatbot/Chatbot.css.ts.vanilla.css.js";
|
|
81
82
|
/* empty css */
|
|
82
83
|
import "../Chatbot/store/messages.js";
|
|
83
|
-
import "@ujet/websdk-headless";
|
|
84
84
|
/* empty css */
|
|
85
85
|
import "../Comparison/Comparison.css.js";
|
|
86
86
|
import "next/image.js";
|
|
@@ -149,10 +149,11 @@ const CraPublicFile = ({
|
|
|
149
149
|
onValidate,
|
|
150
150
|
id
|
|
151
151
|
}) => {
|
|
152
|
+
const cachedEmailValidator = useCachedEmailValidator(validateEmail);
|
|
152
153
|
const schema = z.object({
|
|
153
154
|
First_Name__c: z.string({ message: "Invalid first name." }).regex(/^[a-zA-Z]*(?:[a-zA-Z][a-zA-Z'-]*\s{0,1}){2,}$/g).trim().min(1, { message: "First Name is required." }).optional().or(z.literal("")),
|
|
154
155
|
Last_Name__c: z.string({ message: "Invalid last name." }).regex(/^[a-zA-Z]*(?:[a-zA-Z][a-zA-Z'-]*\s{0,1}){2,}$/g).trim().min(1, { message: "Last Name is required." }).optional().or(z.literal("")),
|
|
155
|
-
Customer_Email__c: z.string({ message: "Invalid email." }).email({ message: "Email is required." }).refine(
|
|
156
|
+
Customer_Email__c: z.string({ message: "Invalid email." }).email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }).optional().or(z.literal("")),
|
|
156
157
|
Customer_Phone__c: z.string({ message: "Phone is required." }).regex(/[\d-]{10}/, "Invalid phone number.").min(10, { message: "Phone is required." }).max(12, { message: "Phone is required." }).transform((val, ctx) => {
|
|
157
158
|
const removeDashes = val.replace(/-/gi, "");
|
|
158
159
|
if (removeDashes.length !== 10) {
|
|
@@ -26,11 +26,12 @@ import '../assets/icons/FollowIcon/FollowIcon.css';import '../assets/icons/Downl
|
|
|
26
26
|
/* empty css */
|
|
27
27
|
/* empty css */
|
|
28
28
|
import "../utils/allowedAxosDomains.js";
|
|
29
|
+
import * as z from "zod";
|
|
29
30
|
import { associatedEmail } from "../utils/EverestValidity.js";
|
|
30
31
|
import { getVariant } from "../utils/getVariant.js";
|
|
32
|
+
import { useCachedEmailValidator } from "../utils/useCachedValidators.js";
|
|
31
33
|
import clsx from "clsx";
|
|
32
34
|
import { useForm, FormProvider } from "react-hook-form";
|
|
33
|
-
import * as z from "zod";
|
|
34
35
|
import { iconForm, headerContainer, headerForm, form, descriptionField, formWrapper, disclosureForm, actions, formContainer } from "./Forms.css.js";
|
|
35
36
|
import { honeyPotSchema, isValidHoneyPot, HoneyPot } from "./HoneyPot/index.js";
|
|
36
37
|
import { SalesforceSchema } from "./SalesforceFieldsForm.js";
|
|
@@ -49,10 +50,11 @@ const DealerServices = ({
|
|
|
49
50
|
onValidate,
|
|
50
51
|
id
|
|
51
52
|
}) => {
|
|
53
|
+
const cachedEmailValidator = useCachedEmailValidator(validateEmail);
|
|
52
54
|
const schema = z.object({
|
|
53
55
|
first_name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "First Name is required." }),
|
|
54
56
|
last_name: z.string().regex(/^[A-Za-z][^0-9_!¡?÷?¿/\\+=@#$%ˆ&*,.^(){}|~<>;:[\]]{1,}$/g).trim().min(1, { message: "Last Name is required." }),
|
|
55
|
-
email: z.string().email({ message: "Email is required." }),
|
|
57
|
+
email: z.string().email({ message: "Email is required." }).refine(cachedEmailValidator, { message: "Invalid email address." }),
|
|
56
58
|
phone: z.string({ message: "Phone is required." }).regex(/[\d-]{10}/, "Invalid phone number.").min(10, { message: "Phone is required." }).max(12, { message: "Phone is required." }).transform((val, ctx) => {
|
|
57
59
|
const removeDashes = val.replace(/-/gi, "");
|
|
58
60
|
if (removeDashes.length !== 10) {
|